UIViewController的输入视图在第一次自动打开

时间:2019-03-25 13:11:10

标签: swift uiviewcontroller becomefirstresponder inputview

我有简单的代码,将DatePicker设置为UIViewController的输入视图

var datePicker = UIDatePicker()

override var inputView: UIView? {
    return datePicker
}

override var canBecomeFirstResponder: Bool {
    return true
}

我必须在viewDidAppear上写self.resignFirstResponder才能强制隐藏键盘(日期选择器),为什么UIViewController自动成为第一响应者?

enter image description here

1 个答案:

答案 0 :(得分:0)

恕我直言,当您将var canBecomeFirstResponder覆盖为true时,包含的viewController应该在初始化完成后立即成为响应者链中的第一个响应者。您可以在viewDidLoad中打印isFirstResponder以验证我的上述断言。

我将inputView分配移至textField:didBeginEdit以避免这种问题。

希望有帮助。