【问题标题】:InputAccessoryView doesn't show in SubViewControllerInputAccessoryView 不显示在 SubViewController
【发布时间】: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 } }

【问题讨论】:

标签: ios swift xcode9 inputaccessoryview


【解决方案1】:

添加一个控制器作为子视图应该是这样的:

        self.addChildViewController(self.myViewController)
        self.view.addSubview(self.myViewController.view)
        self.myViewController.didMove(toParentViewController: self)

【讨论】:

  • 嗨拉西什。谢谢你的建议。但即使在这样实施之后,它仍然不会显示inputAccessoryView
猜你喜欢
  • 2015-03-11
  • 2015-07-12
  • 1970-01-01
  • 1970-01-01
  • 2011-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多