【发布时间】:2015-02-22 22:27:15
【问题描述】:
我有三个视图控制器:登录视图、主表视图屏幕和详细表视图屏幕。这些都是同一个 UINavigationController 的一部分。在主屏幕上,我想禁用后退按钮,以防止用户返回登录屏幕。所以在viewDidLoad() 函数中我有
// Home View
override func viewDidLoad() {
super.viewDidLoad()
self.navigationItem.hidesBackButton = true
...
}
当此视图显示时,没有返回箭头,但有“返回”一词。这个按钮什么也没做,它似乎被禁用了。当我转到下一个视图(详细视图)时,后退按钮被隐藏。即使我在这个视图的viewDidLoad 中添加了hidesBackButton = false,仍然没有。但是,在导航栏上向右滑动可以返回。
现在我回到主屏幕,后退按钮完全隐藏。如果我要再次前进到详细视图,则返回按钮会根据需要显示。
以下是事件顺序:
- 登录屏幕。登录后会弹出主屏幕。
- 主屏幕。后退按钮在那里,它不应该在那里。
- 详细视图。这个视图应该有一个返回按钮来返回主屏幕。滑动功能仍然有效,因此您可以通过滑动导航栏返回主屏幕。
- 返回后,返回按钮消失了!应该是这样。
- 最后,返回(前进)到详细视图,返回按钮应有的样子。
【问题讨论】:
标签: ios iphone swift uinavigationcontroller back