【发布时间】:2018-02-26 07:46:46
【问题描述】:
我有一个类似 View 1 的视图,它有一个 UITextView 的子视图。
我必须在我的文本视图中启用链接和日期事件,为此我启用了用户交互。但是我需要对其超级视图进行一些点击处理,即 View 1 ,所以我在超级视图上也启用了点击手势。
使用此设置,我将在文本视图中进行链接检测和处理,如果我没有点击链接,则点击手势将自行传递到超级视图。但是在 iOS 11 中,这似乎被打破了,我似乎永远无法将点击手势传递给超级视图。有人可以帮我在 iOS 11 上恢复与以前版本相同的行为吗?
我写的代码是这样的-
[V addSubView:tv];
[tv setFrame:[self calculateFrameForTextView]];
[tv setUserInteractionEnabled:YES];
[tv setEditable:NO];
[tv setSelectable:YES];
[tv setDataDetectorTypes:UIDataDetectorTypeAll];
UITapGestureRecognizer *tap= [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(doSomething)];
[V addGestureRecognizer:tap];
............................
| UIView (V) |
| |
| |-------------------| |
| | UITextView (tv) | |
| |...................| |
.............................
如果我点击文本视图上不是链接/其他数据检测器类型的任何内容,我希望将“doSomething”称为通过点击超级视图注册的选择器。此行为在
【问题讨论】:
-
显示您的代码,以便更好地理解!
-
@PratikPrajapati 确实添加了代码和视图结构
标签: ios uitextview ios11 uitapgesturerecognizer