2

我正在使用3個視圖控制器A,B,C。 在故事板中添加了從A到B(例如segue1)和B到C(說segue2)。 A嵌入在導航控制器中。快速點擊導航欄按鈕,導致視圖被多次推入

在A中,我添加一個正確的bar按鈕並對其動作執行segue1。 同樣在B中,我正在添加另一個右邊的bar按鈕並對其動作執行segue2。

如果我多次快速點擊按鈕,視圖B會被推入一次,然後視圖C會被多次推入。

這是一個已知的問題?或者在我的實現中是否有問題?

編輯:添加代碼

的ViewController一個:

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(insertB:)]; 
    self.navigationItem.rightBarButtonItem = addButton; 
} 

- (void)insertB:(id)sender { 
    [self performSegueWithIdentifier:@"segue1" sender:sender]; 
} 

的ViewController B:

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(insertC:)]; 
    self.navigationItem.rightBarButtonItem = addButton; 
} 

- (void)insertC:(id)sender { 
    [self performSegueWithIdentifier:@"segue2" sender:sender]; 
} 
+0

顯示一些代碼,看看您的實現是否有問題 – Hussein

回答

0

設置按鈕falseuserInteractionEnabled屬性時按下,和後推動將其更改爲true

+0

這種類型的實現總是需要這樣做嗎? – Neha

+0

不,但可能是應用程序正在發出請求,在進入下一個視圖之前需要時間,這可以讓按鈕在進度結束前多次按下。你能顯示一些代碼嗎? – Hussein

+0

沒有應用程序沒有提出任何請求,我測試了一個非常簡單的項目,沒有其他代碼。請檢查所添加的代碼 – Neha