iOS 11 дополнительное пространство между клавиатурой и аксессуаром View
У меня есть странная ошибка интерфейса inputAccessoryView
и клавиатура. Код для добавления inputAccessoryView
в viewDidLoad
let keyboardToolbar = UIToolbar()
keyboardToolbar.items = [
UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, action: nil),
UIBarButtonItem(title: "Hide", style: .done, target: self, action: #selector(resignFirstResponder))
]
keyboardToolbar.barStyle = barStyle
keyboardToolbar.sizeToFit()
myTextfield.inputAccessoryView = keyboardToolbar
Первый раз при входе на экран и прикосновении к текстовому полю работает хорошо. После закрытия этого экрана (popViewController) и повторного входа в него и получения фокуса на textField я получил следующее: UIToolBar находится над клавиатурой. Пустое пространство имеет высоту = высота клавиатуры
UI ошибка изображения
2 ответа
Я не знаю причину, но обходной путь должен позвонить либо
view.endEditing
или же
textField.resignFirstResponder()
в
viewWillDisappear
Это потому, что в IOS 11 есть безопасная область, и это пространство появляется на iphone X
Проверьте это сообщение может быть продублировано
iPhone X, как обращаться с View Controller inputAccessoryView?