Ios UILongPressGestureRecognitor错误
我已将UILongPress手势识别器连接到视图上的按钮。我在Interface Builder中的引用Outlet集合中这样做。 按下按钮时,会触发一个动作:Ios UILongPressGestureRecognitor错误,ios,objective-c,Ios,Objective C,我已将UILongPress手势识别器连接到视图上的按钮。我在Interface Builder中的引用Outlet集合中这样做。 按下按钮时,会触发一个动作: - (IBAction)longPressed:(UILongPressGestureRecognizer *)sender { [self performSegueWithIdentifier:@"nextView" sender:self]; } segue是在Interfacebuilder中创建的 按下下一个View
- (IBAction)longPressed:(UILongPressGestureRecognizer *)sender {
[self performSegueWithIdentifier:@"nextView" sender:self];
}
segue是在Interfacebuilder中创建的
按下下一个ViewController(我使用NavigationController)并正确显示。
但现在我收到了这个错误消息:
“嵌套推送动画可能导致导航栏损坏”
“正在以意外状态完成导航转换。导航栏子视图树可能已损坏。”
“对开始/结束外观转换的不平衡调用。”
当我按下后退按钮时,应用程序崩溃
我试着用一个简单的按钮来触发这个序列。它可以工作,但为什么它会在LongPress中崩溃。logPressed会在不同的状态下被多次调用。您需要在其中添加代码,以便仅触发其中一个状态的事件 在代码中输入这样的东西,无论你想接受什么状态
- (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
}
}
我建议这样说:
UIgestureRecognitizerStateRecognited
如果答案完全解决了问题,您可以接受。