ios - UIKit:最初的第一响应者?

标签 ios iphone uikit first-responder

当应用程序启动时,最初的第一响应者是什么?

根据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/

相关文章:

ios - Swift MapView 无法显示缩略图

iphone - iphone sdk 中的日期操作?

iphone - 该应用程序只能从 iPhone 5 的 AppStore 下载

ios - UINavigationBar 中的 UIBarButtonItems 不可点击

ios - 从 UIButton 继承时,continueTrackingWithTouch 不起作用

android - 我可以使用 Python 编写原生 iPhone、Android、Windows、Blackberry 应用程序吗?

iOS - 应用程序关闭时的核心位置和地理围栏

ios - Xcode 5 IOS 7 错误 : failed to launch '/private/var/mobile/Applications/' -- NotFound

ios - 如何在 Storyboard或 xib 中选择背景 View

ios7 - 使用 iOS 8 SDK : is it a bug? 构建时,iOS 7 上的 UICollectionViewCell 大小问题