use*_*500 8 cocoa-touch objective-c first-responder uiresponder ios
我对几个第一响应者点感到困惑:
- becomeFirstResponder,系统是否– canBecomeFirstResponder先打电话?为什么?- becomeFirstResponder和– canBecomeFirstResponder?在什么情况下他们可以返回不同的值?– resignFirstResponder给某个对象时会发生什么?是否UIApplication立即成为第一个响应者,或者这是"令牌"扔在响应链的某一点?我能叫- becomeFirstResponder上UIApplication对象时,我想摆脱那朝圣者令牌?请有人解释我,系统如何管理其第一响应者.当某个对象成为第一响应者时,在什么时候发生了什么,当第一个响应者辞职时会发生什么.系统做什么电话......谢谢!
becomeFirstResponder调用的默认实现canBecomeFirstResponder.这是因为从中返回NO的响应者canBecomeFirstResponder不应该成为第一响应者.becomeFirstResponder如果成功,接收器实际上将成为第一个响应者.canBecomeFirstResponder只检查接收者是否愿意成为第一响应者,而不实际改变任何东西.becomeFirstResponder如果当前的第一响应者拒绝辞职,则可能会失败.可能还有其他情况becomeFirstResponder可能会失败.firstResponder在这种情况下系统不分配任何特定的默认值.基本上,当某些事物想成为第一响应者时,要求当前第一响应者(如果有的话)辞职,然后新对象成为第一响应者.这可能导致系统显示屏幕键盘或采取其他一些操作.当第一个响应者辞职时,这可能同样会导致系统隐藏屏幕键盘或采取其他一些操作.
当非触摸事件进入时,它首先被传递到UIWindow.UIWindow将其提供给第一响应者.文档似乎没有指定UIWindow是否尝试处理事件本身(并且如果它本身不处理它就像往常一样将它传递给UIApplication),或者如果没有第一响应者则忽略该事件.
有关详细信息,请参阅文档
| 归档时间: |
|
| 查看次数: |
2172 次 |
| 最近记录: |