【发布时间】:2020-06-12 14:12:27
【问题描述】:
我已经阅读了很多关于这个主题的材料,但其中大多数都是以编程方式创建自定义视图。
是否可以将 InputAccessoryView 与在 IB 中创建的自定义视图一起使用?在故事板中,我添加了 textInputView,其中我添加了文本视图和发送按钮等,如下面的屏幕截图所示。
我遵循了代码,因此出于某种原因删除了表格视图,因此我无法使其正常工作。我在情节提要中添加了表格视图。
我在这里只展示了与 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...
}
左侧屏幕截图是不显示表格视图的附件视图代码。如果我注释掉与附件视图相关的代码,它会显示表格视图,如右侧屏幕截图所示。
【问题讨论】:
-
并且tableView显示没有输入附件视图?
-
它显示了 inputTextView,正如您在屏幕截图中看到的那样。在文本视图中输入确实会显示键盘。由于 tableview 没有显示我无法检查拖动以关闭功能。我不确定为什么在为附件视图添加代码后不显示表格视图?如果我删除附件视图,表视图就会出现。
-
如果你删除这一行会发生什么:'textInputView.removeFromSuperview()'?
标签: ios swift tableview inputaccessoryview