我已经阅读了很多有关此主题的材料,但是大多数都以编程方式创建自定义视图。
是否可以将InputAccessoryView与IB中创建的自定义视图一起使用?在情节提要中,我添加了textInputView,在其中添加了文本视图和发送按钮,如下面的屏幕快照所示。
我正在跟踪代码,出于某种原因该代码删除表视图,因此无法正常工作。我在情节提要中添加了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...
}
[左屏幕快照是带有附件视图代码的,不显示表格视图。如果我注释掉与附件视图相关的代码,它的确会在右侧屏幕截图中显示表格视图。
似乎您可能将UITableView
的底部限制为textInputView
的顶部。当您将textInputView
设置为inputAccessoryView
的UIViewController
时,此功能将无法正常工作。将textInputView
设置为inputAccessoryView
时,请确保将UITableView
的底部限制为UIViewController
的view
的底部。