我有两个视图控制器,第一个嵌入在导航控制器中。第一个视图中的一个按钮将第二个按钮推到导航堆栈上。大。除了后退按钮仅在第二个视图完成动画到窗口中时才会出现。这将是罚款,除了该视图的标题显示马上:NavigationController后退按钮不会出现,直到加载视图后
这产生了一个元素出现马上和其他在后来才种持久性有机污染物一个奇怪的差异。任何方式让后退按钮立即出现?我正在使用自定义按钮btw:
let backButton = UIBarButtonItem(title: "Cancel", style: UIBarButtonItemStyle.Plain, target: self, action: nil)
navigationItem.backBarButtonItem = backButton
这里需要一点信息。你如何执行转换(segue挂在故事板/ performSegueWithIdentifier(_ :)'/'pushViewController(_:animated :))?)?你在哪里(代码中)设置'backBarButtonItem'?在我的简短测试中,我只能得到您在'viewDidAppear(_ :)'中设置'leftBarButtonItem'时描述的行为。 – Stuart 2015-04-01 19:25:28
另外,你所描述的用户界面在iOS中有些非惯用。在推送过渡之后,用户通常期望看到带有描述前一个屏幕的文本的向后箭头。你的设置(在左边有一个“取消”按钮)看起来更像是一个模态表示。当然,我不知道应用程序UI的完整流程,但只是认为它值得一提,以防万一。 – Stuart 2015-04-01 19:33:42
是的,我正在研究如何让它更像是从底部向上滑动的模式,然后取消滑动向下。但是,为了理解正常推送过渡发生了什么,我试图找出在此场景中不立即显示的后退按钮。至于我如何执行转换,简单的按钮通过故事板延续到第二个视图。我在第一个视图控制器中创建了自定义后退按钮,但即使使用默认按钮,问题仍然存在,但无论出于何种原因,它都会稍微早一点开始淡入淡出 – 2015-04-01 19:43:37