【发布时间】:2017-09-28 06:20:56
【问题描述】:
当我尝试在普通 ViewController 中使用 InputAccessoryView 时,它可以完美运行。但是当我尝试在 Sub ViewController 中使用它时,它不会再显示了。
这里有人遇到过吗?
class ViewController: UIViewController {
let myViewController = MyViewController()
override func viewDidLoad() {
super.viewDidLoad()
myViewController.view.frame = CGRect(x: 0.0, y: 200.0, width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.height - 200.0)
self.addChildViewController(self.myViewController)
self.view.addSubview(self.myViewController.view)
myViewController.didMove(toParentViewController: self)
}
}
class MyViewController: UIInputViewController {
override var canBecomeFirstResponder: Bool {
return true
}
override var inputAccessoryView: UIView? {
let view = UIView()
view.frame = CGRect(x: 0, y: 0, width: UIScreen.main.bounds.width, height: 50)
view.backgroundColor = UIColor.red
return view
}
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = .green
}
}
【问题讨论】:
-
请阅读developer.apple.com/library/content/featuredarticles/…。您的自定义容器实现错误。
-
感谢您的帮助。但即使我尝试正确添加 SubViewController,它仍然没有显示。
标签: ios swift xcode9 inputaccessoryview