Кажется, что клавиатуре не нужно занимать весь экран, проверьте UPDATE в разделе "Вопрос" моего сообщения. Спасибо.
Описание
Используйте UITextField для размещения полноэкранной клавиатуры на экране.
Я установил UISplitViewController
, и я хотел бы, чтобы RootViewController
(aka MasterViewController
) имел UITextField
с показанием клавиатуры. Затем я хотел бы получить результаты поиска справа (в "ResultViewController" (UIViewController).
Идея заключается в том, когда пользователь вводит, результаты предлагаются.
Что я пробовал:
Я сначала добавил UITextField
в мой RootViewController
через storyboard
, но это заняло весь экран, когда я активировал клавиатуру с помощью textField.becomeFirstResponder()
.
Я подумал, использую ли я UIAlertController
эту проблему, но клавиатура по-прежнему занимает весь экран.
class RootViewController: UIViewController {
override func viewDidLoad() {
let alertController = UIAlertController(title: "Search", message: "Search for something!.", preferredStyle: UIAlertControllerStyle.Alert)
alertController.addTextFieldWithConfigurationHandler({(textField: UITextField!) in
textField.placeholder = "Search"
})
self.addChildViewController(alertController)
alertController.view.frame = self.view.frame
self.view.addSubview(alertController.view)
}
}
Вопрос:
При использовании UISplitViewController
как я могу заставить клавиатуру оставаться в ней RootViewController
и не занимать весь экран?
ОБНОВЛЕНИЕ: Похоже, что это было реализовано в приложении Netflix на новом Apple TV. Клавиатура сверху и занимает всю ширину. Дно разделено на две секции. Слева - предлагаемое слово, а справа - просмотр коллекции видеороликов возможных видеороликов. Все обновляется по мере ввода пользователем.
Если это считается плохим дизайном для Apple TV, то не стесняйтесь указать, почему.
Снимок экрана:
Это то, что я сейчас получаю. Текстовое поле открывает клавиатуру, которая занимает весь экран.