У меня есть представление, в котором сделано что-то вроде этого представления 1, и оно имеет подвид UITextView.
Мне пришлось включить ссылки и события даты в моем текстовом представлении, для которых я включил взаимодействие с пользователем. Однако мне нужна некоторая обработка касания в его суперпредставлении, т.е. Вид 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» назывался селектором, зарегистрированным с помощью касания в суперпредставлении. Это поведение работало в версиях ‹ iOS11.