Черный экран внизу в ландшафтном режиме при отклонении клавиатуры IQKeyboardManager
Я использую последнюю версию IQKeyboardManagerSwift. У меня возникла проблема с черным экраном внизу -> Когда я нажимаю на текстовое поле в ландшафтном режиме устройства, появляется клавиатура, и вид контроллера и фонового изображения повышается, черный экран окна виден снизу. Вид не возвращается в исходное положение после сброса клавиатуры.
Я хочу переместить контейнерный вид текстового поля вверх, а не вид контроллера и фонового изображения, контейнерный вид горизонтально и вертикально центрируется в автоматическом макете. Я пытался добавить IQLayoutGuideConstraint к представлению контейнера, но безуспешно. было бы здорово, если бы вы могли предоставить некоторую информацию для ее достижения. пожалуйста, смотрите скриншот раскадровки ниже
4 ответа
Попробуйте удалить свой firstResponder
от viewDidLoad
, и вставьте его viewDidAppear
вместо этого вот так
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(true)
yourTextField.becomeFirstResponder()
}
обходной путь, поместите в свой вид ВК:
override func viewWillAppear(_ animated: Bool) {
if let window = (UIApplication.shared.delegate?.window)! as UIWindow? {
window.backgroundColor = UIColor.white
}
}
Вы пробовали обновить свои стручки?
pod IQKeyboardManagerSwift
PS Не устанавливайте текстовое поле как firstResponder в вашем viewController.
Например:- (в методе ViewDidLoad)
[self.yourTextField becomeFirstResponder];
Если вы настроили выше. Пожалуйста, прокомментируйте (удалите) эту строку, а затем попробуйте.
Всего наилучшего.