0
 [UIView animateWithDuration:0.3 delay:0.0f options:UIViewAnimationOptionCurveEaseInOut animations:^{
            [viewMain setFrame:CGRectMake(0, 30, 1024, 378)];
        } completion:^(BOOL finished){
            [txtViewNote becomeFirstResponder]; //Its a TextView
        }];

上面的代码大部分时间都可以正常工作。但有时线

[txtNote becomeFirstResponder]

导致崩溃。我有try-catch。但是崩溃不会去捕获块。

4

1 回答 1

0

我刚刚解决了这个问题。当我第二次来到这个视图时,它实际上发生了。我有 2 个键盘观察员

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];

但是我在关闭视图时没有移除观察者。这就是为什么当第二次看到这个视图时,核心代码无法处理它。不知道可可触摸的实际问题是什么。但它解决了。

于 2016-07-10T14:37:44.967 回答