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?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hast du überschreiben
becomeFirstResponder
?Nachtrag:
Haben Sie überprüft, Sie erfüllen alle der oben genannten Bedingungen?