我有一個實現UIKeyInput
協議並且具有定製的UIView和becomeFirstResponder
- (BOOL) canBecomeFirstResponder{
return YES;
}
在子類中所定義
一個自定義的UIView。當調用:
[customView becomeFirstResponder];
NSLog(@"is first? %i",[customView isFirstResponder]);
單擊按鈕時,它返回false,即使canBecomeFirstResponder
的設置正確,所有的UIKeyInput
協議功能被實現。還有哪些東西可以阻止這種觀點成爲第一響應者?它生活在一個scrollView和另一個自定義視圖,如果有幫助。
更新:
我檢查,看看目前的第一反應是用:
UIWindow *keyWindow = [[UIApplication sharedApplication] keyWindow];
UIView *firstResponder = [keyWindow performSelector:@selector(firstResponder)];
和令人驚訝的是firstResponder
nil
。所以似乎沒有什麼東西佔據了這些事件。
現在是否有其他人拒絕放棄第一響應者?像文本字段或與自定義代理的東西? –