У меня есть 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
, но оно не заставляет панель вкладок переключать их - оно все еще переключает поля на контроллере представления ниже.