查找作为第一响应者的视图

Arm*_*and 8 iphone first-responder ios

我想获得第一个响应者的视图,目前我有一个包含UITextFields的UITableView,使用一种方法:

-(UIView*) findFirstResponder
{

}
Run Code Online (Sandbox Code Playgroud)

我希望能够获得第一个响应者的视图,然后对该视图执行某些操作.

有任何想法吗?

Arm*_*and 18

我所要做的就是

@implementation UIView (FindViewThatIsFirstResponder)
- (UIView *)findViewThatIsFirstResponder
{
    if (self.isFirstResponder) {        
        return self;     
    }

    for (UIView *subView in self.subviews) {
        UIView *firstResponder = [subView findViewThatIsFirstResponder];
        if (firstResponder != nil) {
            return firstResponder;
        }
    }

    return nil;
}
@end
Run Code Online (Sandbox Code Playgroud)


Dam*_*amo 14

使用UIControl作为可以成为第一响应者的不同类型控件的根引用.

UIControl *currentControl;
Run Code Online (Sandbox Code Playgroud)

正如Gobot所说 - 每当文本域成为第一响应者时,请记下它是哪一个......

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {   

    currentControl = textField;

    . . .
Run Code Online (Sandbox Code Playgroud)