現在アプリを操作していない場合 (テキストフィールドが選択されていないなど)、ファーストレスポンダーオブジェクトはまだありますか? 私がテストしたように、レスポンダー チェーンにメッセージを送信すると、現在の ViewController.view はそれを受け取りますが、その isFirstResponder は NO を返します。それで、他の要素がまだファーストレスポンダーであると推測していますか?または、レスポンダー チェーンは常に存在しますが、最初のレスポンダー オブジェクトである必要はありませんか?
2 に答える
3
これでファーストレスポンダーを見つけることができます:
@implementation UIView (FindFirstResponder)
- (UIView *)findFirstResponder
{
if (self.isFirstResponder) {
return self;
}
for (UIView *subView in self.subviews) {
UIView *firstResponder = [subView findFirstResponder];
if (firstResponder != nil) {
return firstResponder;
}
}
return nil;
}
@end
于 2013-06-06T13:55:10.830 に答える