Swift - 在更改视图时确认

时间:2016-05-15 22:29:38

标签: ios swift uitabbarcontroller uialertview

我有一个嵌入Tab Bar Controller和Navigation Controller的ViewController。它有游戏/测验的作用:

enter image description here

我希望用户每次尝试更改视图时都要确认是否要退出正在进行的游戏(更改标签,点击"返回"或者只退出应用)。

所以我想我的问题是:我应该在哪里放置(run-tests 'im.user-test 'im.organization-test 'im.group-test 'im.content-test 'im.orders-test 'im.db-test 'im.collection-test) 以使其按照描述的方式工作?

1 个答案:

答案 0 :(得分:1)

您可以分别为UITabBarControllerUINavigationBarUITabBarControllerDelegateUINavigationBarDelegate实施代理。

对于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
}

注意:UINavigationBarUINavigationController的属性 - 您可以navigationController.navigationBar.delegate = self;

成为代理人