在viewDidLoad中使用BecomeFirstResponder是否正确

时间:2017-11-07 19:53:57

标签: ios uitextfield uikeyboard viewdidload becomefirstresponder

我希望在打开viewcontroller时将键盘设置为文本字段。

所以我在 textfield 上调用成为第一响应者并且它始终有效。

但我想知道

  1. 是否称呼成为第一反应者的地方?或者我必须在viewcontroller中调用其他一些生命周期事件
  2. 如果查看确实加载是正确的调用地点..我是否必须在主线程中手动调用或不需要,因为默认情况下需要执行didload?

1 个答案:

答案 0 :(得分:1)

你正在做的事情并没有什么绝对的错误。

逻辑上有人可能认为viewDidAppear太早了,因为你的视图(带有你的文本字段)不在界面中;也许viewDidAppear会更合乎逻辑。但是,在这种情况下,您必须记住,在视图控制器的生命周期内可以多次调用var array = ["4 4 8 16 16", "4, 4, 8, 16, 16", "4-4-8-16-16"]; console.log(array.map(s => s.replace(/^|\D+/g, ' c/').slice(1)));,因此您需要区分这是否是第一次(不是很难)。