我希望在iOS 10中使用与“联系人”应用相同的动画构建一个视图控制器。 当您向下滚动页面时,联系人的照片会显示在导航栏的中间。
iOS 10中有API还是自定义实现?
答案 0 :(得分:3)
<强>研究强>
尝试修改导航栏有很多技巧。我花了很多时间一个接一个地尝试:
self.navigationController!.navigationBar.addSubview(self.titleView!)
但是这样看起来很棒,它隐藏了导航栏元素,后退按钮不响应点击。虽然我尝试了不同的图层或将视图带到前/后,但我无法完成这项工作。解决强>
因此,根据我的观点,最好的解决方案(但不是最清晰的解决方案)是:
self.navigationController!.isNavigationBarHidden = true
中的原始导航栏viewWillAppear(_ animated: Bool)
。另外,请不要忘记将其带回viewWillDisappear(_ animated: Bool)
此解决方案要求您维护自己的&#34; navbar&#34;看起来像原生的一样。然而,与导航栏修改不同,这可能适用于iOS的未来版本。
答案 1 :(得分:2)
一个技巧可能是导航栏不可见。 在故事板中设置模拟指标 - &gt;顶栏=无(你甚至可以避免它)。
在视图控制器中,将其添加到viewDidLoad:
Swift 3.0
navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
navigationController?.navigationBar.shadowImage = UIImage()
navigationController?.navigationBar.isTranslucent = true
目标-C
[self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
self.navigationController.navigationBar.shadowImage = [UIImage new];
self.navigationController.navigationBar.translucent = YES;
然后你应该在使用联系人的详细信息滑动uitableview / uiscrollview时创建一个动画,这取决于你想要做什么......