我在 Storyboard 上创建了一个带有一个 UITextField 的自定义 UIViewController。在viewDidLoad
,我将 UITextFIeld 设置为becomeFirstResponder
,什么也没发生(没有键盘弹出)。
然后我尝试打电话resignFirstResponder()
,但它返回 false。接下来我试图找到谁first responder
是通过使用 @ 上的代码循环所有子视图无需使用私有 API 即可获取当前第一响应者 https://stackoverflow.com/questions/1823317/get-the-current-first-responder-without-using-a-private-api。事实证明,没有一个子视图是第一响应者。
故事板中的我的 ViewController
My Code
class BLTestViewController: UIViewController, UITextFieldDelegate {
@IBOutlet var tf: UITextField
override func viewDidLoad() {
super.viewDidLoad()
tf.delegate = self
tf.becomeFirstResponder()
// Do any additional setup after loading the view.
}
}
就这么简单……为什么键盘还没有出现!!!我确实拥有的一件事是自动布局,但我不确定这是否会影响键盘的弹出。
Swift 4 它对我有用
try it
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
textView.becomeFirstResponder()
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)