Objective c UITextView在动画后不响应触摸事件
如果展开视图,我正在执行动画以正确地将Objective c UITextView在动画后不响应触摸事件,objective-c,ios,xcode,animation,uitextview,Objective C,Ios,Xcode,Animation,Uitextview,如果展开视图,我正在执行动画以正确地将UITextView保持在屏幕底部。出于某种原因,如果我执行动画,则UITextView将停止响应触摸事件,因此不会显示键盘 我所做的就是: CGRect newSendTextView = self.commTextView.frame; newSendTextView.origin.y = (newSendTextView.origin.y + (height - self.defaultSize.size.height)); [UIView begi
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
的新位置可能被其他视图覆盖了。检查任何其他视图
在您的文本视图
新位置上是否具有相同的帧。使用clipstobunds
属性查找它。UITextView前面是否有任何对象?也许您有一个透明的UIView,在这种情况下您无法访问它it@MouhamadLamaa没有,我查过了。没有透明的视图,在IB文本视图中,视图位于每个项目的前面。您的回答帮助我找到了答案。似乎我没有扩展包含这些视图的UIView,因此它们没有响应触摸事件。我不知道如果一个视图在它的superview之外,它仍然会显示在屏幕上。。。谢谢Arthan@Alan:你是如何解决这个错误的?我也有类似的问题@FahimParker基本上textview不在包含其。例如,如果将textview添加到(0,0,100,100)的视图中。如果我让textview转到(150、150、100、100),它仍然会显示在屏幕上,因为它在iPhone屏幕的范围内。但是,如果textview不在其添加到的UIView的范围内,它将不会响应触摸事件。基本上,我所做的就是调整其父视图的大小,以便UITextview始终保持在范围内。