iOS 11 дополнительное пространство между клавиатурой и аксессуаром View - PullRequest
0 голосов
/ 06 мая 2018

У меня странная ошибка пользовательского интерфейса с 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 находится над клавиатурой. Пустое пространство имеет высоту = высота клавиатуры

изображение ошибки

Ответы [ 2 ]

0 голосов
/ 07 мая 2018

Я не знаю причину, но обходной путь должен позвонить либо

view.endEditing

или

textField.resignFirstResponder()

в

viewWillDisappear
0 голосов
/ 06 мая 2018

это потому, что в IOS 11 есть безопасная область и это пространство появляется на iphone X

Проверить, возможно, дублирован этот пост

iPhone X, как обрабатывать ввод контроллера ViewAccessoryView?

...