Swift:inputAccessoryView在调用时显示UIToolbar的空白屏幕

时间:2015-08-18 20:11:55

标签: ios xcode swift message inputaccessoryview

我尝试使用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(但没有结果):

如何设置视图:
enter image description here

1 个答案:

答案 0 :(得分:0)

如果您在Storyboard中设置了UI,那么您不拥有这些对象,也不应该改变层次结构。这就是为什么Xcode自动生成的故事板属性默认为@IBOutlet weak var,你不拥有它们,不应该管理内存。

要解决您的问题,您应该使用var MessegeView = UIToolbar(),或者应该从单独的.xib初始化工具栏。