Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 在哪里调用becomeFirstResponder(),在ViewDidDisplay或ViewWillDisplay?_Swift_Uiviewcontroller_First Responder - Fatal编程技术网

Swift 在哪里调用becomeFirstResponder(),在ViewDidDisplay或ViewWillDisplay?

Swift 在哪里调用becomeFirstResponder(),在ViewDidDisplay或ViewWillDisplay?,swift,uiviewcontroller,first-responder,Swift,Uiviewcontroller,First Responder,我想要什么: 表格视图中包括文本字段和文本标签。当出现表格视图时,文本字段将成为第一响应者,并显示键盘 我遇到的问题: 仅当在视图中调用文本字段时,应用程序才会显示键盘。becomeFirstResponder()将出现或视图加载(文本字段和文本标签根本不显示) 我是如何修复的: 当我将textField.becomeFirstResponder()调用移动到viewdide 问题: 我是否要调用视图显示函数中的becomeFirstResponder()函数?否则,键盘将阻止所有其他视图 非常

我想要什么

表格视图中包括
文本字段
文本标签
。当出现表格视图时,
文本字段将成为
第一响应者,并显示键盘

我遇到的问题:

仅当在
视图中调用
文本字段时,应用程序才会显示键盘。becomeFirstResponder()
将出现
视图加载
文本字段
文本标签
根本不显示)

我是如何修复的:

当我将
textField.becomeFirstResponder()
调用移动到
viewdide

问题:

我是否要调用
视图显示
函数中的
becomeFirstResponder()
函数?否则,键盘将阻止所有其他视图


非常感谢

想想
viewDidLoad
视图将出现
,以及
viewdidappeage
的意思

  • viewDidLoad
    表示视图控制器有一个视图,但该视图还不是界面的一部分

  • 视图将出现
    表示视图控制器的视图将成为界面的一部分,但尚未出现

  • viewdide出现
    表示视图控制器的视图已成为界面的一部分


在文本字段调用键盘之前,您需要将视图作为界面的一部分。只有这样,表视图才会真正显示和配置。换言之,此时接口已固定为其实际形式,我们已经准备好将键盘正确放置在其上方。

您更准确地说是添加到窗口中,而不是成为界面的一部分。@malhal在我看来,这两种说法似乎是相同的。好的,视图将显示意味着UIView接收到的视图将移动到窗口。i、 e.窗口属性现在有效。