Den*_*kov 6 iphone objective-c uiviewcontroller
任何人都知道为什么UIViewController在运行此代码时不会成为第一响应者:
[self becomeFirstResponder];
NSLog(@"is first resp: %i",[self isFirstResponder]);
Run Code Online (Sandbox Code Playgroud)
在控制台中,我总是看到这句话:"是第一个:0"
我有canBecomeFirstResponder方法:
- (BOOL)canBecomeFirstResponder {
return YES;
}
Run Code Online (Sandbox Code Playgroud)
我甚至都不知道下一步要去哪儿....
正如我所怀疑的那样,我认为使用UIViewController/ firstResponder使用是错误的。这线程在苹果开发论坛专门谈论越来越颤抖工作。
调用becomeFirstResponder要响应的UI元素。UIViewController只要链中没有其他对象实现touchs方法(或至少继续沿链向上转发它们),事件将自动转发到。
旁注:以其他人的意见为基础,将a UIViewController设为“第一”响应者确实没有任何意义。第一响应者应该是具有屏幕上表示形式的对象(UIView或其子类之一)。
尽管这可能是完全不正确的陈述,但UIViewController由于存在这些问题,可能会导致未记录的行为而 使其无法成为firstResponder(比我聪明的人也许可以验证这一点的有效性)。
| 归档时间: |
|
| 查看次数: |
13870 次 |
| 最近记录: |