Benutzerdefinierte UIView und becomeFirstResponder

Habe ich eine benutzerdefinierte UIView, die die UIKeyInput Protokoll und hat

- (BOOL) canBecomeFirstResponder{ 
    return YES;
}

definiert, die in der Unterklasse. Beim Aufruf von:

[customView becomeFirstResponder];
NSLog(@"is first? %i",[customView isFirstResponder]);

beim klicken auf eine Schaltfläche, gibt Sie false zurück, obwohl canBecomeFirstResponder richtig eingestellt ist und alle UIKeyInput Protokoll-Funktionen implementiert sind. Welche anderen Dinge, die blockieren könnte diese Ansicht immer die first responder? Es lebt in einem scrollView-und anderen benutzerdefinierten Ansicht angezeigt, wenn das hilft.

Update:

Ich überprüft, um zu sehen, was die aktuellen first-responder war mit:

UIWindow *keyWindow = [[UIApplication sharedApplication] keyWindow];
UIView   *firstResponder = [keyWindow performSelector:@selector(firstResponder)];

überraschend firstResponder war nil. Also nichts zu sein scheint überhöhung der Ereignisse.

  • Etwas anderes ist die Weigerung aufzugeben first responder gerade jetzt? Wie ein text-Feld oder sowas mit einem benutzerdefinierten Delegaten?
InformationsquelleAutor Ralphleon | 2011-12-08
Schreibe einen Kommentar