iOS 10 联系人照片出现在导航栏上

2024-06-09

我想构建一个与 iOS 10 中的联系人应用程序具有相同动画的视图控制器。 当您向下滚动页面时,联系人的照片会出现在导航栏的中间。

iOS 10 中有 API 还是自定义实现?


Research

有许多技术试图修改导航栏。我花了很多时间逐一尝试:

  1. 苹果官方教程https://developer.apple.com/library/content/samplecode/NavBar/Introduction/Intro.html#//apple_ref/doc/uid/DTS40007418-Intro-DontLinkElementID_2 https://developer.apple.com/library/content/samplecode/NavBar/Introduction/Intro.html#//apple_ref/doc/uid/DTS40007418-Intro-DontLinkElementID_2它只是在视觉上扩展了导航栏。事实上,把第二个 在栏下查看并将颜色和线条设置为看起来像 第二个视图是酒吧的一部分。但事实并非如此。
  2. Levelmoney 为自定义导航栏制作了很好的库:https://github.com/Levelmoney/ressized-navigation-bar https://github.com/Levelmoney/resizable-navigation-bar
  3. 另一个解决方案是创建你的视图,它看起来像导航栏(使用苹果示例中的背景色和阴影),然后将其放入导航栏,如下所示:self.navigationController!.navigationBar.addSubview(self.titleView!)然而,这看起来很棒,它隐藏了导航栏元素,并且后退按钮不响应单击。尽管我尝试了不同的图层或将视图带到前面/后面,但我无法完成这项工作。

解决

因此,我认为最好的解决方案(但不是最明确的)是:

  1. 创建您自己的自定义视图 (XIB),它看起来像导航栏本身 - 如上面的选项 3 所示。包括您自己实现的后退按钮等。
  2. 隐藏原来的导航栏:self.navigationController!.isNavigationBarHidden = true in viewWillAppear(_ animated: Bool)。也别忘了把它带回来viewWillDisappear(_ animated: Bool)
  3. 将您自己的视图放在屏幕顶部。不在顶部布局指南下方,而是在屏幕顶部。您的视图将使状态栏变暗。使用视图的上边距使内容适合状态栏下方。
  4. 像他们所说的那样实现动画UITableView滚动事件 https://stackoverflow.com/questions/8642699/uitableview-scroll-event

该解决方案要求您维护自己的“导航栏”,使其看起来与本机导航栏相同。然而,与导航栏修改不同的是,这可能会在 iOS 的未来版本中起作用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS 10 联系人照片出现在导航栏上 的相关文章

  • AFNetworking 同步调用(类似/不同)

    我需要实施喜欢 不喜欢应用程序中的功能 所有 API 调用均通过AFNetworking和成功 错误处理程序 iOS 块 问题是 当用户在短时间内多次单击某个按钮时 服务器会以错误的顺序接收某些请求 然后一切都会变得错误 例如发生双重喜欢或
  • 来自 NSString 的 iOS SecKeyRef

    我需要使用公钥将用户密码加密为 Base64 字符串 公钥是一个 NSString 像这样的东西 MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCgWO7p1AvCaHUeaM6rSczBBAqt mKObHx
  • iOS 6 仅支持一个视图的不同方向

    我只想将应用程序中的一个视图旋转到左横向或右横向 我的所有其他视图均处于纵向模式 并且我已将我的应用程序设置为仅支持纵向模式 随着 iOS 6 中方向的改变 我不知道如何做到这一点 我已经尝试过下面发布的内容 谁能告诉我我做错了什么 谢谢
  • UICollectionView 和补充视图(标题)

    尝试将补充视图添加到我的UICollectionView作为标题 我在让它工作时遇到问题 我用的是自定义的UICollectionViewFlowLayout返回一个contentSize总是比框架大至少 1 像素 我使用的是UIFresh
  • Google 登录服务器验证码无 iOS?

    我们让 Google 登录您的应用程序 我们在请求登录时提供服务器客户端 ID 我们得到的 user serverAuthCode 为 nil 我们的要求如下 func googleLogin var configureError NSEr
  • 致命错误:找不到“Fabric/Fabric.h”文件

    我正在使用 xcode 6 3 1 OSX 10 10 3 并且我已经在本地系统上成功配置了 crashlytics 它工作正常 并通过 Fabric 应用程序发布构建 但是当我将相同的代码库转移到 teamcity 时 它向我显示以下错误
  • 如何在可可中获取图像的作者

    我不明白为什么metaDic 总是为空 有一个代码 CFDataRef dataRef CGDataProviderCopyData CGImageGetDataProvider img CGImage UIImage img CGImag
  • iOS 64 位 @try {... } @catch {...} 不起作用

    我有一个非常特殊的问题 最近 我向我的 iOS 项目 arm64 添加了 64 位支持 从那时起 我开始收到内部代码段未捕获的异常 try catch 我使用 Crashlytics 进行崩溃报告 我设法在应用程序中的任何位置使用以下代码行
  • 在 ARC 中异步生成 CGImagesForTimes

    如果我在启用了 ARC 的项目中运行以下命令 则完成处理程序永远不会触发 但如果没有 ARC 它会按预期工作 我在这里缺少什么 NSURL url NSURL URLWithString http media w3 org 2010 05
  • 准备未签名的 Xcarchive

    太长了 问题 有没有办法准备一个 XArchive 然后他们可以自己分配配置文件并使用适当的分发证书进行签名 长问题 我的客户向我发送了我为他们开发的应用程序的配置文件 他们不想向我发送他们的分发证书 p12 文件 他们给我的指示如下 将配
  • 添加应用程序组后 Xcode 显示警告(将“应用程序组”权利添加到您的应用程序 ID)[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 在 Xcode 中添加应用程序组后 它显示警告 将 应用程序组 权限添加到您的应用程序 ID将 应用程序组容器 权限添加到您的应用程序 I
  • Swift - 向每个页面添加相同的导航栏项目

    我正在尝试将相同的导航栏项目添加到应用程序中的每个选项卡 我目前已在我的 homeController 中正确设置了它们 但我想将代码移动到一个单独的文件中 并在我想要的任何地方远程实现它 例如 在导航栏左侧添加一个 搜索 图标 而不必在每
  • 在 iPad 上的弹出窗口中推送导航视图控制器时动画弹出窗口内容大小

    当包含的 UINavigationController 推送新控制器时 如何让 UIPopoverController 为其大小设置动画 我有一个UIPopover正在显示从UIBarButtonItem在我的 iPad 应用程序中 它包含
  • 带过滤器的 AudioKit 导出文件

    我想用音频套件的许多过滤器覆盖现有的 m4a 文件 我的代码 file try AKAudioFile forReading recordVoiceURL player AKPlayer audioFile file delay AKVar
  • 如何在 Xcode 4.5 中添加旧版本的 iOS SDK

    我在这里复制了 iOS 5 1 SDK 应用程序 Xcode app Contents Developer Platforms iPhoneOS platform Developer SDKs 但是 我仍然无法在 Xcode 中选择基础 S
  • scrollViewDidScroll:在 UITableViewRowAnimation 上?

    当一个人使用一个UITableViewRowAnimation删除一行或添加一行时 有时如果该行位于表视图的最末端 则表会滚动 然而 即使它滚动它似乎并没有调用scrollViewDidScroll 关于代表 例如 我的委托中有以下代码 v
  • 具有硬件集成的 iOS 应用程序

    我想开发一个使用外部硬件插件的 iOS 应用程序 有点像 Squarehttps squareup com https squareup com 但是我在苹果的文档中找不到任何参考资料 有人能指出我正确的方向吗 如果您想使用 iPod 连接
  • ViewController.swift(界面)文件的用途是什么 - 在 Counterparts 中

    我刚刚注意到一个名为ViewController swift Interface 当我创建第一个 ViewController 时 Xcode 自动创建了它 Swift 中的类是否具有 需要与 Objective C 中相同的接口 并且由
  • Swift 3:将 UIButton 扩展添加到 ViewController

    我是 iOS Swift 的初学者 尝试创建一个没有 Storyboard 的简单应用程序 我创建了一个UIButton扩展名 我想在我的视图中添加一个简单的按钮 稍后将设置约束 不幸的是 该按钮不可见 如果有人帮助我 我将不胜感激 谢谢你
  • GKLocalPlayer 身份验证不起作用,但 isAuthenticated 返回 YES(游戏中心沙盒)

    我正在努力将回合制比赛集成到我的游戏中 几天前 我开始从 GameKit API 收到奇怪的错误 指出本地玩家未经过身份验证 尽管他已通过身份验证 当我启动应用程序时 authenticateHandler被调用 显示视图控制器 输入密码后

随机推荐

  • 为 Python 终端提供持久的历史记录

    有没有办法告诉交互式 Python shell 保留会话之间执行命令的历史记录 当会话运行时 在执行命令后 我可以向上箭头并访问所述命令 我只是想知道是否有某种方法可以保存一定数量的这些命令 直到下次使用 Python shell 时 这将
  • Elasticsearch:在 java.lang.OutOfMemoryError:Java 堆空间后重新启动节点

    我的一个 ES 节点失败了 因为java lang OutOfMemoryError Java heap space错误 这是日志中的完整堆栈跟踪 2020 09 18T04 25 04 215 WARN o e a b Transport
  • 更改 Azure 备份保管库冗余

    我们使用 Azure 备份并将备份保管库设置为使用 GRS 我们想使用 LRS 来代替 据了解 一旦机器添加到保险库中 这一点就无法更改 我们需要从头开始 两个问题 在为同一服务器设置新保管库之前 是否需要先删除当前保管库 当前的备份可以转
  • 如何在 C++ 中创建动态整数数组?

    如何使用 C 创建动态整数数组new关键词 int main int size std cin gt gt size int array new int size delete array return 0 别忘了delete你分配的每个数
  • 为什么Environment.getExternalStoragePublicDirectory在某些设备(自2011年初专门制造)中不起作用?

    我试图将从相机捕获的图像存储到公共存储目录 这是我用于存储图像的代码部分 protected File createImageFile throws IOException Create an image file name String
  • 嵌入式 Youtube:如何在 iOS 7 ipad 上获得高品质

    我在网页上嵌入了 YouTube 视频 在桌面上它运行良好 然而 在 ipad 运行 iOS7 上 视频质量相当差 可能是 480p 在 iframe 中 它看起来不错 但是当您将视频全屏显示时 它就非常明显了 我尝试过使用hd 1 vq
  • 如何画透明背景带边框的三角形?

    我想知道如何绘制一个带有边框的透明背景的三角形 我发现的例子没有提供边框 有什么办法可以实现这一点吗 这是一个带边框的透明纯 css 三角形 container width 200px height 200px position relat
  • 升级到 Office 365 专业增强版后 Excel VBA 运行速度极慢

    我粘贴部分代码如下 这段代码是解析从HTTP请求得到的JSON字符串 根本没有工作表 工作簿操作 在office升级到office365专业增强版之前 效率还是蛮高的 但升级后 解析一个不到2秒的json 却要花费几分钟 我个人不明白根本原
  • 过滤ListView后无法获取item的实际位置

    这是我的MainActivity java我在哪里定义了一个OnClickListener在物品上 在这里 过滤后我总是得到错误的项目值 如果有 10 个项目ListView然后过滤后 如果我得到 3 个项目 并且正确的位置是 3 6 9
  • 仅当值不同时 Postgres UPSERT(插入或更新)

    我正在更新 Postgres 8 4 数据库 来自 C 代码 基本任务非常简单 更新现有行或插入新行 如果尚不存在 通常我会这样做 UPDATE my table SET value1 newvalue1 updated time now
  • C++ 将 HashMap 对象返回给 Java

    我有一个 JAVA 调用的 JNI 函数 需要构建并返回一个 HashMap 映射的键是 String 相应的值是 boolean 或 Boolean 任何一个都可以 只要它有效 使用我当前的代码 如下 该字符串已成功添加到返回的映射中 并
  • 允许从 servlet 进行渐进式下载吗?

    我在传送多媒体数据的 servlet 方面遇到问题 我尝试在 iPhone 上的 mobile safari 中使用它 但收到 服务器配置不正确 错误 我在 Mac Apache 上使用网络共享来服务器相同的多媒体文件 并且工作正常 我开始
  • 强名称验证失败

    两台机器 均带有 NET 3 5 和 VS 2008 VC SP1 可再发行组件 单个 exe 使用两个签名的 DLL 一个在 C CLI 中 一个在 C 中 该exe在一台机器上加载并运行良好 另一方面 我在 C 可执行文件上收到 强名称
  • 在 %PATH% 的任何目录中都找不到 `ssh` 可执行文件

    ERROR c Users dhawal vora gt vagrant ssh ssh executable not found in any directories in the PATH variable Is an SSH clie
  • 是什么导致 console.timeEnd() 中出现“myTimer 不存在”错误?

    我为 RxJS 创建了一个演示scan 方法 但不幸的是我的计时器无法正常工作 并且出现此错误 Timer myTimer does not exist console time myTimer let source Rx Observab
  • 计算两个日期之间的时间差,并给出答案,如“2天3小时前”

    是否有任何用 php 公开编写的类 函数可以获取时间戳 并返回自那时以来经过的时间 天数 月数 年数等 基本上我想要相同的函数来生成与该网站上的每个条目一起呈现的自发布时间 以及在 digg 和其他网站上的负载 这是作为 WordPress
  • Racket 与Scheme 有何不同?

    Racket 是Scheme 的后代 Racket 与 R6RS 有何不同 它添加了什么 删除了什么 或者只是有所不同 我知道 Racket 不仅仅是一种语言 它还是一个语言平台 但我指的是主要的 Racket 方言 Racket 最终基于
  • 使用 Python ast 模块访问语法树中的节点

    我正在玩 python ast 抽象语法树 我编写了以下内容 它访问了 AST 的所有节点 import ast class Py2Neko ast NodeVisitor def generic visit self node print
  • NumPy“记录数组”或“结构化数组”或“recarray”

    NumPy 结构化数组 记录数组 和 记录数组 之间有什么区别 如果有的话 The NumPy 文档 http docs scipy org doc numpy user basics rec html暗示前两个是相同的 如果是 那么该对象
  • iOS 10 联系人照片出现在导航栏上

    我想构建一个与 iOS 10 中的联系人应用程序具有相同动画的视图控制器 当您向下滚动页面时 联系人的照片会出现在导航栏的中间 iOS 10 中有 API 还是自定义实现 Research 有许多技术试图修改导航栏 我花了很多时间逐一尝试