我知道为什么会出现这个问题,但我不知道如何解决它。我使用了一个覆盖函数添加到方法成为第一响应者(它完全按照它所说的做)从类 ViewController 到我的IBOutlet
自动键盘。我如何让它不为零?我是否给我的 IBOutlet 一个值而不是使用 "!" ?
这样做:使键盘自动弹出,而不是点击文本字段(有点像iOS上的聚光灯搜索)
如果我需要发送更多信息,请告诉我!
override func becomeFirstResponder() -> Bool {
autoKeyboard.becomeFirstResponder()
return true
}
我得到的错误是:
线程 1:致命错误:解开可选值时意外发现 nil
您获得 nil 值的原因是您的笔尖尚未初始化,因此您的文本字段为 nil。我认为您在视图控制器生命周期中过早地在文本字段上调用您的 beFIRSTRESPONDER。
我使IBObject自动键盘成为可选,因此将代码行更改为以下内容:
override func viewDidAppear(_ animated: Bool) {
autoKeyboard?.becomeFirstResponder()
}
它现在可以工作了!