首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

iOS NavigationController push 卡頓並出現重複頁面?檢查跳轉邏輯是否重複觸發

     編輯:程式設計疑難解答

現象

點擊按鈕 pushViewController 畫面卡頓,隨後出現多個相同頁面堆疊。

原因

按鈕事件在短時間內被多次觸發(如使用者快速連點、手勢識別器重複、代碼中多處註冊同一事件)。

解決方案

  1. 防重點擊旗標:
    @property (nonatomic, assign) BOOL isPushing;
    - (void)pushNext {
        if (self.isPushing) return;
        self.isPushing = YES;
        [self.navigationController pushViewController:vc animated:YES];
        // 動畫完成後重置,或在 viewDidDisappear 重置
    }
  2. 按鈕 exclusiveTouch = YES:防止多點觸控同時觸發。
  3. 移除重複的 Target-Action 註冊:檢查 Storyboard/XIB 與代碼是否雙重綁定。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved