我有一个嵌入Tab Bar Controller和Navigation Controller的ViewController。它有游戏/测验的作用:
我希望用户每次尝试更改视图时都要确认是否要退出正在进行的游戏(更改标签,点击"返回"或者只退出应用)。
所以我想我的问题是:我应该在哪里放置(run-tests 'im.user-test
'im.organization-test
'im.group-test
'im.content-test
'im.orders-test
'im.db-test
'im.collection-test)
以使其按照描述的方式工作?
答案 0 :(得分:1)
您可以分别为UITabBarController
和UINavigationBar
,UITabBarControllerDelegate
和UINavigationBarDelegate
实施代理。
对于UITabBarControllerDelegate
工具:
func tabBarController(tabBarController: UITabBarController, shouldSelectViewController viewController: UIViewController) -> Bool {
// alert here, don't go back unless user confirms
}
对于UINavigationBarDelegate
工具:
func navigationBar(navigationBar: UINavigationBar, shouldPopItem item: UINavigationItem) -> Bool {
// alert here, don't go back unless user confirms
}
注意:UINavigationBar
是UINavigationController
的属性 - 您可以navigationController.navigationBar.delegate = self;