Думаю, вам повезет больше, если использовать полный экземпляр UIViewController
вместо UIActionSheet
. Добавление поведения клавиатуры на лист действий будет трудно, если не невозможно.
Если вы создаете подкласс UIViewController
, вы можете сделать так, чтобы делегат вашего приложения представил его в -application:didFinishLaunchingWithOptions:
. Предполагая, что вы используете какой-то UIViewController
или UINaviagtionController
для своего основного интерфейса, вы можете иметь контроллер представления пароля при запуске модально, используя UIViewController
- presentModalViewController:animated:
.
Когда у вас есть контроллер просмотра пароля, вам нужно будет добавить UITextField
для ввода пароля. Сделайте так, чтобы текстовое поле стало firstResponder
(вызывая на нем becomeFirstResponder
), и это приведет к отображению клавиатуры. Возможно, вы также захотите установить свойство keyboardAppearance
в текстовом поле, чтобы управлять отображением клавиатуры, если, например, вы хотите ограничить числовой PIN-код по сравнению с полным паролем. Установка свойства secureTextEntry
также может быть желательна для предотвращения отображения действительного пароля. См. Протокол UITextInputTraits
на UITextField
для обеих этих опций.
Чтобы сделать приложение безопасным, вы должны создать свой контроллер просмотра пароля, чтобы в нем не было кнопок или опций навигации, кроме кнопки типа «Отправить» или «Логин». Если пользователь вводит правильный пароль, вы отклоняете контроллер модального вида и впускаете его. Если он не знает пароль, его единственный выбор - нажать кнопку «Домой», чтобы выйти из приложения, поскольку у них не было бы способа продолжить. за пределами модального контроллера вида.