我尝试使用UIToolbar
向我的键盘添加inputAccessoryView
,但是一旦用户点击UITextField
,我会看到空白屏幕或加载白色视图它在viewDidLoad()
。我已经尝试了很少的stackoverflow QA,而且它们似乎对我不起作用。我也使用removeFromSuperview()
方法执行此操作。
初始化:
@IBOutlet var MessegeView: UIToolbar!
@IBOutlet var MessegeTextField: UITextField!
将 UIToolbar
分配给UITextField
:此代码在加载时会显示空白白色视图。
override func viewDidLoad() {
super.viewDidLoad()
MessegeTextField.inputAccessoryView = MessegeView
MessegeView.removeFromSuperview()
}
没有 removeFromSuperView()
:我收到以下错误,这是有道理的。
ERROR:
should have parent view controller:<APPNAME.ChatViewController:XXXXXXXX> but requested parent is:<UIInputWindowController: XXXXXXXXXX>
我遵循的一些Stackoverflow QA(但没有结果):
答案 0 :(得分:0)
如果您在Storyboard
中设置了UI,那么您不拥有这些对象,也不应该改变层次结构。这就是为什么Xcode自动生成的故事板属性默认为@IBOutlet weak var
,你不拥有它们,不应该管理内存。
要解决您的问题,您应该使用var MessegeView = UIToolbar()
,或者应该从单独的.xib
初始化工具栏。