我在Storyboard上创建了一个UITextField的自定义UIViewController.在viewDidLoad上,我将UITextFIeld设置为FirstResponder,没有发生任何事情(没有键盘弹出).
然后我尝试调用resignFirstResponder(),但它返回false.接下来,我试图通过使用@ Get the current first responder without using a private API上的代码循环所有的子视图来找出第一个响应者.最终没有一个子视图是第一个响应者.
我的ViewController在故事板
我的代码
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. } }
为什么不是键盘启动!我有一件事是汽车布局,但我不知道是否影响键盘弹出.
解决方法
我只是通过调用self.tf.becomeFirstResponder()indside viewDidLoad()函数来测试它,并且工作绝对正常.您需要通过按nflacco指令K键来切换键盘,并将模拟器中的硬件键盘禁用:
> iOS模拟器 – >硬件 – >键盘>取消选中“连接硬件键盘”