diff --git a/Source/ASDisplayNode.mm b/Source/ASDisplayNode.mm index 1128383f5..87f04231e 100644 --- a/Source/ASDisplayNode.mm +++ b/Source/ASDisplayNode.mm @@ -888,12 +888,12 @@ - (BOOL)__canBecomeFirstResponder - (BOOL)__becomeFirstResponder { + // Note: This implicitly loads the view if it hasn't been loaded yet. + [self view]; + if (![self canBecomeFirstResponder]) { return NO; } - - // Note: This implicitly loads the view if it hasn't been loaded yet. - [self view]; HANDLE_NODE_RESPONDER_METHOD(becomeFirstResponder); } @@ -910,13 +910,13 @@ - (BOOL)__canResignFirstResponder - (BOOL)__resignFirstResponder { + // Note: This implicitly loads the view if it hasn't been loaded yet. + [self view]; + if (![self canResignFirstResponder]) { return NO; } - // Note: This implicitly loads the view if it hasn't been loaded yet. - [self view]; - HANDLE_NODE_RESPONDER_METHOD(resignFirstResponder); }