iOS 11键盘和附件之间的额外空间

时间:2018-05-06 20:27:39

标签: ios swift keyboard ios11 inputaccessoryview

我在inputAccessoryView和键盘上有一些奇怪的UI错误。 要在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 bug image

2 个答案:

答案 0 :(得分:0)

这是因为IOS 11中有安全区域,而且这个空间出现在iphone X上

检查此帖子可能重复

iPhone X how to handle View Controller inputAccessoryView?

答案 1 :(得分:0)

我不知道原因,但解决方法是调用

view.endEditing

textField.resignFirstResponder()

viewWillDisappear