成为第一响应者后如何识别点击文本视图?
Posted
技术标签:
【中文标题】成为第一响应者后如何识别点击文本视图?【英文标题】:How to recognize tap over text view after it has became first responder? 【发布时间】:2012-09-27 23:31:08 【问题描述】:当 UITextView 被点击时,我希望它继续作为第一响应者工作,但我还需要触发其他事件。在 UITextView 不是第一响应者之前,UITapGestureRecognizer 工作得很好,但是在它获得焦点之后,点击不再被识别。
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(singleTapRecognized:)];
singleTap.numberOfTapsRequired = 1;
[txtView addGestureRecognizer:singleTap];
[singleTap release];
-(IBAction)singleTapRecognized:(id)sender
//Does not enter here with a tap after txtView is first responder
【问题讨论】:
你找到解决办法了吗? 【参考方案1】:在ViewDidLoad()
方法中使用以下代码,并确保包含
[yourTextView setUserInteractionEnabled:YES]
UITapGestureRecognizer *gestureRecognizer = [[UITapGestureRecognizer alloc]initWithTarget:self action:SEL(textViewTapped:)];
[gestureRecognizer setNumberOfTapsRequired:1];
[yourTextView addGestureRecognizer:gestureRecognizer];`
【讨论】:
我的代码中手势识别器的创建是在viewdidload中完成的。我看不出我的代码和这个代码之间的区别。我还尝试设置启用交互,它没有任何区别。我认为 UITextView 的交互启用默认为 true。【参考方案2】:您应该在手势识别器委托上实现以下方法:
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer*)otherGestureRecognizer
return YES;
【讨论】:
以上是关于成为第一响应者后如何识别点击文本视图?的主要内容,如果未能解决你的问题,请参考以下文章
iOS 如何使 inputaccessoryview 中的文本视图成为第一响应者?
在alerview被解雇后如何使webview成为第一响应者