在某些情况下,我需要确保用户在移动到 UITabBarController
中的另一个选项卡之前已完成某些步骤。因此,如果用户正在处理某事并点击另一个选项卡,我想显示一个 UIAlertView
说“在转到另一个选项卡之前,你必须完成 blah blah blah。”
是否可以检查此条件并取消移动到另一个 View Controller ?
最佳答案
当然可以。我想你的标签栏 Controller 在 AppDelegate 类中。如果是这样,请将 AppDelegate 设置为它的委托(delegate)。然后实现下面的方法
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController {
// place all the checks here
EditingViewController *editingController = //link to controller where editing is being made.
if (editingController && editingController.isEditing) {
//UIAlertView
return NO;
}
return YES;
}
关于ios - 在用户更改到另一个选项卡之前强加一个需要满足的条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9185204/