UIKeyboardTypeNumberPad zurück "oder" fertig " - button in iOS 5
In iOS 3 diese Problemumgehung beteiligten erstellen eine Kunden-UIButton hinzufügen und diese als eine Untersicht auf der Apple-Tastatur. Wenn iOS 4 veröffentlicht wurde, der Ansicht, dass die Untersicht wurde Hinzugefügt, geändert. So bekommen diese Arbeit in iOS3 & 4 hatte ich folgende.
-(void) addDoneButtonToNumericKeyboard {
if(doneButtonIsAdded) {
return;
}
if(doneButtonForNumericKeyboard == nil) {
doneButtonForNumericKeyboard= [[UIButton buttonWithType:UIButtonTypeCustom] retain];
doneButtonForNumericKeyboard.frame = CGRectMake(0, 163, 106, 53);
doneButtonForNumericKeyboard.adjustsImageWhenHighlighted = NO;
if ([[[UIDevice currentDevice] systemVersion] hasPrefix:@"3"]) {
[doneButtonForNumericKeyboard setImage:[UIImage imageNamed:@"DoneUp3.png"] forState:UIControlStateNormal];
[doneButtonForNumericKeyboard setImage:[UIImage imageNamed:@"DoneDown3.png"] forState:UIControlStateHighlighted];
} else {
[doneButtonForNumericKeyboard setImage:[UIImage imageNamed:@"DoneUp.png"] forState:UIControlStateNormal];
[doneButtonForNumericKeyboard setImage:[UIImage imageNamed:@"DoneDown.png"] forState:UIControlStateHighlighted];
}
[doneButtonForNumericKeyboard addTarget:self action:@selector(doneButton:) forControlEvents:UIControlEventTouchUpInside];
}
//locate keyboard view
NSArray *winArray = [[UIApplication sharedApplication] windows];
if(winArray == nil || [winArray count] < 2) {
NSLog(@"No winArray found!");
return;
}
UIWindow* tempWindow = [[[UIApplication sharedApplication] windows] objectAtIndex:1];
UIView* keyboard;
for(int i=0; i<[tempWindow.subviews count]; i++) {
keyboard = [tempWindow.subviews objectAtIndex:i];
//keyboard view found; add the custom button to it
NSLog(@"Keyboard description : %@", [keyboard description]);
if([[keyboard description] hasPrefix:@"<UIKeyboard"] == YES || [[keyboard description] hasPrefix:@"<UIPeripheralHost"] == YES) {
NSLog(@"Attaching done button");
[keyboard addSubview:doneButtonForNumericKeyboard];
doneButtonIsAdded = YES;
}
}
}
Jemand irgendwelche Ideen, wie man diese Arbeit für iOS 5?
Keiner der oben genannten Methoden arbeiten, für die 5. Es ist ein Versuch, fügen Sie die Untersicht, scheint erfolgreich zu sein, aber es wird nichts angezeigt. Das Gebiet ist nur leere auf dem Bildschirm und reagiert nicht auf eine Berührung.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bemerkte ich dies als gut, und die beheben nur ich war in der Lage zu kommen, so weit oben war, um es zu ändern von:
keyboardWillShow:
zukeyboardDidShow:
. Der Unterschied zwischen "wird" und "hat" ist natürlich eine andere Diskussion, aber es scheint, dass es fest für meine Bedürfnisse.Ich hoffe, das hilft.
Etwas mehr hintergrund, was ich fand, ist, dass die
[[UIApplication sharedApplication] windows]
das erste Objekt scheint da zu sein, aber das zweite Objekt, bei index 1, ist verschwunden. Ich Frage mich, was dies verursacht.Dank.
War ich glücklich genug, um diese zu finden:
Ersetzen:
wenn([[keyboard Beschreibung] hasPrefix:@"
Mit:
wenn ([[[UIDevice currentDevice] systemVersion] floatValue] >= 3.2) {
wenn([[keyboard Beschreibung] hasPrefix:@"
Verweis auf diesen link: UIKeyboardTypeNumberPad ohne eine Schaltfläche "fertig"