当应用程序启动时,最初的第一响应者是什么?
根据UIKit docs可以使用 becomeFirstResponder 消息设置第一响应者。但是,如果没有发送此消息,那么最初的第一响应者是什么?用户界面应用程序?关键窗口?
另外,是否有指向当前第一响应者的属性?
最佳答案
在 MacOS 和 iOS 中,每个窗口都有自己的 UIResponder(或者,更准确地说,每个窗口 是 一个 UIResponder -- UIWindow 来自 UIResponder),这意味着每个窗口都可以有自己的第一响应者.在 MacOS 上,可以有许多打开的窗口(每个窗口都有一个第一响应者),而在 iOS 下,通常任何时候都会显示一个 UIWindow。
每个窗口都有一个第一响应者(无论是窗口本身,还是接收键盘事件的文本字段,或其他)。您可以通过 " nextResponder
" API 遍历每个窗口来查询每个窗口的响应者链。 .
我可能过于简化了一些事情,但为了一个好的、简单的总结答案,我希望这会有所帮助。 Here is more information about the iOS Responder chain ,它显示了初始 View (例如第一响应者)如何获取事件,如果它无法处理它,则将事件传递给父 View 、窗口和应用程序。
关于ios - UIKit:最初的第一响应者?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22292690/