InputAccessoryView 与在 IB 中创建的自定义视图

InputAccessoryView with custom view created in IB

我已经阅读了很多关于此主题的 material,但其中大部分都是以编程方式创建自定义视图。

是否可以将 InputAccessoryView 与在 IB 中创建的自定义视图一起使用?在情节提要中,我添加了 textInputView,在其中我添加了文本视图和发送按钮等,如下面的屏幕截图所示。

我遵循了代码,因此 出于某种原因删除了 Table View,因此我无法使其正常工作。我在情节提要中添加了 tableview。

我这里只展示了与InputAccessoryView相关的代码。

class InputAccViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {

    @IBOutlet weak var tableView: UITableView!
    @IBOutlet weak var textView: UITextView!
    @IBOutlet weak var textInputView: UIView!
    // other code

    override var canBecomeFirstResponder: Bool { return true }

    override var inputAccessoryView:UIView {
       get{
           return self.textInputView
       }
   }

    override func viewDidLoad() {
        super.viewDidLoad()

        textInputView.removeFromSuperview()
        // other code
    }
     // other code tableview delegates etc...
}

左侧屏幕截图带有不显示 table 视图的附件视图代码。如果我注释掉与附件视图相关的代码,它会显示 table 视图,如右侧屏幕截图所示。

您似乎将 UITableView 的底部限制在 textInputView 的顶部。当您将 textInputView 设置为 UIViewControllerinputAccessoryView 时,这将不再按预期工作。将 textInputView 设置为 inputAccessoryView 时,确保将 UITableView 的底部限制在 UIViewControllerview.

的底部