导航栏项目成为标题(滑动时,不会消失)

时间:2015-02-21 10:58:53

标签: ios swift uinavigationcontroller

对不起,如果问题标题不是100%正确的话。说实话,我不知道如何描述我的问题。我有问题。我有app导航控制器(标题称为列表)。在导航控制器中,我有“添加”项。当我触摸项目时,会调用新的视图控制器。当我触摸后退按钮时,称为“列表”。当我做滑动手势回去时,按钮<称为“标题”消失,即使名称相同也会再次出现 - “标题”。我让gif动画变得清晰。有没有人知道如何使我的应用程序只是滑动标题没有任何(dis)出现?非常感谢和抱歉如果我的英语不是最好的:)

gif:

1 个答案:

答案 0 :(得分:1)

这是标准的UINavigationController行为,我不相信你可以轻易改变这一点。我想到了两个选择:

  1. 如果你真的想要这个功能,最简单的解决方案就是告诉导航控制器不要显示导航栏:

    no bar

    然后,您可以将自己的导航栏添加到场景中。您必须手动添加后退按钮,这些按钮可以连接到弹出视图控制器的IBAction(或者展开到上一个场景的展开)。如果您的应用支持横向模式,您可能还需要调整旋转行为,使其在横向模式下比纵向模式更短(如导航控制器所做的那样)。

    通过这样做,您仍然可以享受导航控制器功能(推动和弹出),但您可以手动为每个场景添加导航栏。用户体验不会完全相同,你也会失去交互式流行音乐,但最简单的方法就是实现你想要的过渡动画。

  2. 如果这还不够(例如你需要用于弹出的交互式手势等),那么你可以自己编写,完全退出导航控制器然后使用自定义交互式过渡。这是在iOS 7中引入的(参见WWDC 2013视频Custom Transitions Using View Controllers)并在iOS 8中进行了修订(参见WWDC 2014视频View Controller Advancements in iOS 8)。

  3. 坦率地说,这些都感觉像是笨拙的解决方案(特别是第二个),但如果你真的想要改变与导航控制器相关的导航栏的动画,那么这两个选项。就个人而言,我退后一步,对这项工作进行成本效益分析,并决定这是否值得为一个相当小的UI问题。