當我通過使用按鈕在視圖控制器之間切換時,如果我反覆按下該按鈕,下一個視圖控制器將繼續出現。我不知道是什麼導致了錯誤。在Segue結束之前按下按鈕iOS + Swift
視頻:https://drive.google.com/file/d/0B64lwT9kq3khRHNtZ0d0Q1hiNEk/view?usp=sharing
當我通過使用按鈕在視圖控制器之間切換時,如果我反覆按下該按鈕,下一個視圖控制器將繼續出現。我不知道是什麼導致了錯誤。在Segue結束之前按下按鈕iOS + Swift
視頻:https://drive.google.com/file/d/0B64lwT9kq3khRHNtZ0d0Q1hiNEk/view?usp=sharing
它看起來像你的按鈕圈期間仍然有效擴大動畫,所以每次你按下它的時候,另一個視圖控制器推到導航堆棧。然後推動動畫堆疊起來。
嘗試在觸發動畫之前禁用該按鈕,並在使用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並轉到Attributes Inspector選項卡。如果您希望使用IB來處理賽門鐵克而不是UIControl(或本例中的UIButton)的目標操作,則此方法可能對您更有利。
我修復了視頻,以便每個人都可以查看它。 –