Кнопка Tab начинает редактирование неправильного текстового поля - PullRequest
1 голос
/ 26 октября 2019

У меня есть UIViewController, VC с некоторыми элементами, 2 из которых UITextField с. Есть кнопка, которая при касании пользователя представляет новый контроллер CustomAlertViewController, VCAlert поверх текущего VC с модальным стилем представления UIModalPresentationOverCurrentContext.

В этом VCAlert У меня есть 3 текстовых поля.


Когда я нажимаю клавишу табуляции на моей клавиатуре Bluetooth, первоначально она only переключает 2 текстовых поля на VC , даже после представления VCAlert , который сейчас является самым представленным контроллером представления.

Это важный бит:

ПОСЛЕ того, как я коснулся одного из 3 полей на VCAlert , нажатие кнопки табуляции правильно переключает 3 поля на самом верхнем контроллере вида, теперь игнорируя поля ввода в контроллере вида внизу.


  • Есть ли способ сказать VCAlert (самый представленный контроллер представления), чтобы прослушивать события кнопки вкладки, и НЕродительский контроллер больше (пока, конечно, VCAlert отклонен)?

Я хотел бы выполнить это, не удаляя делегатов из 2 текстовых полей VC, ИЛИ не удаляя их из вида.

КОД:

Код чрезвычайно прост ... поэтому он будет ограничен.

Каждый UITextView имеет своего делегата, зарегистрированного в соответствующем представленииконтроллер. Контроллер VCAlert представлен следующим образом:

// Here, self is the VC, and alertViewController is VCAlert

[self presentViewController:alertViewController animated:NO completion:^{

    // Do absolutely nothing here like usual

}];

FYI:

Я пытался вызвать becomeFirstResponder onодно из текстовых полей в VCAlert затем сразу вызывается resignFirstResponder, но оно не заставляет панель вкладок переключать их - оно все еще переключает поля на контроллере представления ниже.

...