2014-01-27 49 views
0

我已經連接UILongPressGestureRecognizer我的View按鈕。我在Interface Builder的引用出口集合中做了這個。 當按鈕被按下的動作被觸發:UILongPressGestureRecognizer錯誤

- (IBAction)longPressed:(UILongPressGestureRecognizer *)sender { 
    [self performSegueWithIdentifier:@"nextView" sender:self]; 
} 

的賽格瑞是在InterfaceBuilder中創建的。

接下來的ViewController被推(I使用NavigationController)並顯示正確的。 但現在我收到此錯誤信息:「整理了意外狀態導航過渡導航欄子視圖樹可能會損壞。」

「嵌套推動畫可以導致損壞的導航欄」 「非平衡呼叫開始/結束外觀轉換」。

當我按下BACK按鈕的應用程序崩潰。

我試圖觸發與一個簡單的按鈕觸摸SEGUE。它可以工作,但爲什麼它會與LongPress一起崩潰。

回答

2

logPressed獲取與不同的狀態多次調用。您需要在其中添加代碼才能針對其中一個州啓動事件。

Read up on this answer.

並把代碼這樣的事情你要接受任何狀態。

- (void)handleLongPress:(UILongPressGestureRecognizer*)sender { 
    if (sender.state == UIGestureRecognizerStateEnded) { 
     NSLog(@"UIGestureRecognizerStateEnded"); 
    //Do Whatever You want on End of Gesture 
    } 
    else if (sender.state == UIGestureRecognizerStateBegan){ 
     NSLog(@"UIGestureRecognizerStateBegan."); 
    //Do Whatever You want on Began of Gesture 
    } 
    } 

我建議這種狀態:UIGestureRecognizerStateRecognized

+0

謝謝這個解決我的問題。 – user2415476

+0

如果它完全解決了問題,您可以接受答案。 – Putz1103

相關問題