我查看具有用户可以与之交互的不同按钮的控制器。每个人都做了不同的事情,但他们都以模态方式呈现了一个新的视图控制器。问题是用户有时间在第一次演示发生之前点击另一个按钮,这会导致崩溃。有没有办法阻止用户点击另一个按钮或检测模态演示是否已经发生?
我只是不想让用户一次出现超过1个模态视图控制器。
答案 0 :(得分:0)
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"whateverSegue"])
{
[button setEnabled:NO];
}
}
如果它只需要一次就可以做到这一点 - 否则一个名为disableButtons的辅助方法或者如果它在几个地方应该可以调用的话就可以调用它!
答案 1 :(得分:0)
检查以下步骤是否有用。
单击按钮后,您可以禁用视图的用户交互。
-(IBAction)clickedButton:(id)sender {
[self.view setUserInteractionEnabled:NO];
// Do other things here
}
当模型视图控制器出现时,启用视图的用户交互。
[self presentViewController:aViewController animated:YES completion:^{
[self.view setUserInteractionEnabled:NO];
}];
或者,您可以尝试以下方法来禁用应用程序中的触摸
[[UIApplication sharedApplication] beginIgnoringInteractionEvents];
[[UIApplication sharedApplication] endIgnoringInteractionEvents];