当我使用按钮在 View Controller 之间切换时,如果重复按下按钮,下一个 View Controller 将继续出现。我不知道是什么原因导致了这个错误。
视频:https://drive.google.com/file/d/0B64lwT9kq3khRHNtZ0d0Q1hiNEk/view?usp=sharing
最佳答案
看起来您的按钮在圆展开动画期间仍然处于事件状态,因此每次按下它时,另一个 View Controller 都会被推送到导航堆栈。然后推送动画就会堆叠起来。
尝试在触发动画之前禁用按钮,并在使用 button.enabled = NO;
或 button.userInteractionEnabled = NO;
后重新启用它。
或者,您可以实现 -prepareForSegue:sender:
并禁用转场之前的按钮,然后在 -viewWillAppear:
中重新启用该按钮。
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"YourSegueIdentifier"]) {
self.nextButton.userInteractionEnabled = NO;
}
}
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
self.nextButton.userInteractionEnabled = YES;
}
要获取segue.identifier
,只需单击 IB 中的 segue 并转到“属性检查器”选项卡。如果您更愿意使用 IB 来处理 Segues 而不是 UIControl(或本例中的 UIButton)上的目标操作,那么这种方法可能更适合您。
关于ios - 在 Segue 完成之前按下按钮 iOS + Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36504871/