如果我展开视图,我正在执行动画以正确地将UITextView保持在屏幕的底部.出于某种原因,如果我执行动画,UITextView会停止响应触摸事件,因此没有键盘会显示.
我所做的只是:
CGRect newSendTextView = self.commTextView.frame; newSendTextView.origin.y = (newSendTextView.origin.y + (height - self.defaultSize.size.height)); [UIView beginAnimations:nil context:NULL]; [UIView setAnimationDuration:.5]; self.commTextView.frame = newSendTextView; [UIView commitAnimations];
我知道UITextView在我进行转换后仍然在屏幕上,因为我将UITextView背景着色为亮蓝色,但它不想响应任何触摸事件.
如果我注释掉self.commTextView.frame = newSendTextView;因此它不会移动,触摸事件寄存器.
我不知道为什么会这样,我试过了
[self.commTextView becomeFirstRespond];
我检查了是否isEditable和isUserInteractionEnabled设置为1,它是.
解决方法
我想,TextView的新位置可能会被其他视图覆盖.检查任何其他View在TextView新位置上具有相同的框架.使用clipsToBounds属性来查找它.