【发布时间】:2012-12-18 23:59:05
【问题描述】:
如果我展开视图,我正在执行动画以正确地将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 并且确实如此。
【问题讨论】:
-
你的 UITextView 前面有对象吗?也许你有一个透明的 UIView,在这种情况下你无法访问它
-
@MouhamadLamaa 不,我查过了。没有透明视图,在 IB 中 TextView 位于每个项目的前面。
标签: objective-c ios xcode animation uitextview