在解除inputAccessoryView设置为toolbarItems的键盘后,toolbarItems消失

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在解除inputAccessoryView设置为toolbarItems的键盘后,toolbarItems消失相关的知识,希望对你有一定的参考价值。

我已经向toolbarItems添加了一些项目,并且在首次加载视图时它们正确显示。调用以下功能后,就在屏幕上显示键盘之前,项目从工具栏中消失

func textViewShouldBeginEditing(_ textView: UITextView) -> Bool {
    let keyboardToolBar = UIToolbar()
    keyboardToolBar.sizeToFit()
    keyboardToolBar.items = toolbarItems
    textView.inputAccessoryView = keyboardToolBar
    return true
}

关闭键盘后,工具栏仍然存在,但项目没有显示,如果我打印toolbarItems的计数,我可以看到项目仍然存在。有什么想法吗?

答案

像这样检查

func textViewShouldBeginEditing(_ textView: UITextView) -> Bool {
    let keyboardToolBar = UIToolbar()
    keyboardToolBar.backgroundColor = .cyan
    keyboardToolBar.sizeToFit()
    let btn1 = UIBarButtonItem(title: "Done", style: .done, target: self, action: #selector(self.doneBtnAction))
    keyboardToolBar.items = [btn1]
    textView.inputAccessoryView = keyboardToolBar
    return true
}

@objc func doneBtnAction(sender: UIBarButtonItem) {
    aTextView.resignFirstResponder()
}

以上是关于在解除inputAccessoryView设置为toolbarItems的键盘后,toolbarItems消失的主要内容,如果未能解决你的问题,请参考以下文章

将 InputAccessoryView 设置为 UISearchController

将 UITextField 的 inputAccessoryView 设置为其父视图

视图设置为 inputAccessoryView 在添加回普通视图时抛出异常

没有为 UITextField 正确添加 inputAccessoryView

inputAccessoryView 未显示在键盘上方

如何设置 UITextField 的 inputAccessoryView 的所需位置?