我有一个带有ChildViewController的ViewController。我需要在inputAccessoryView
上显示ChildViewController
。
我在ChildViewController
上实现了以下方法:
override var inputAccessoryView: UIView? {
return inputBar
}
override var canBecomeFirstResponder: Bool {
return true
}
inputBar
是带有UITextField
的视图。当我将parentViewController推入navigationStack时,canBecomeFirstResponder
被调用,但inputAccessoryView
从未被调用,因此inputAccessoryView
从未显示。
我能够让viewController
调用inputAccessoryView
的唯一方法是在becomeFirstResponder()
中调用viewDidAppear
,但这在视图中看起来并不好显示并弹出输入。 (如果我在becomeFirstResponser()
中叫viewDidLoad()
,则不起作用)
我对发生的事情完全不了解。有任何线索吗?
顺便说一句:我看到了: -Display inputAccessoryView in childViewController,但没有帮助
我还在github上看到了一些有关问题的相关评论,例如:
您需要将子视图控制器设为第一响应者,以便出现InputAccessoryView(MessageInputBar)
但是他们真的无济于事……有什么线索吗?!