Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
Getting the first responder... Unless you want to use the private [view firstResponder] this seems to be the only legal way. Or am I wrong?
UIView *PSPDFFindFirstResponderBeneathView(UIView *view) {
// Stop if e.g. we show an UIAlertView with a text field.
if (UIApplication.sharedApplication.keyWindow != view.window) return nil;
// Search recursively for first responder.
for (UIView *childView in view.subviews) {
if ([childView respondsToSelector:@selector(isFirstResponder)] && childView.isFirstResponder) return childView;
UIView *result = PSPDFFindFirstResponderBeneathView(childView);
if (result) return result;
}
return nil;
}

Hi I would like you my implementation for getting first Responder. Thanks

https://github.com/iottirubin/findFirstResponder

Owner

@iottirubin your method seems a bit wasteful and ignores multiple windows. See the StackOverflow link above for a faster, more generic variant.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment