当我使用按钮在视图控制器之间切换时,如果我反复按下按钮,则下一个视图控制器将继续显示。我不知道导致错误的原因。
视频:https://drive.google.com/file/d/0B64lwT9kq3khRHNtZ0d0Q1hiNEk/view?usp=sharing
答案 0 :(得分:0)
在 circle expand 动画期间,您的按钮看起来仍处于活动状态,因此每次按下该按钮时,另一个视图控制器都会被推送到导航堆栈。然后推动动画堆叠起来。
尝试在触发动画之前禁用该按钮,并在使用button.enabled = NO;
或button.userInteractionEnabled = NO;
后重新启用该按钮。
或者,您可以实施-prepareForSegue:sender:
并在segue之前禁用该按钮,然后重新启用-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来处理segits而不是UIControl(或者在这种情况下是UIButton)上的目标动作,这种方法可能比你更好。