Ich habe iOS 8 Gold Master für das iPhone und das SDK heruntergeladen.
Ich habe die App getestet und sie funktioniert bis auf eine Sache einwandfrei.
Ich habe ein Textfeld, in dem ein Nummernblock angezeigt wird, wenn der Benutzer etwas eingeben möchte. Außerdem wird dem leeren Bereich eine benutzerdefinierte Schaltfläche hinzugefügt, wenn die Tastatur angezeigt wird.
- (void)addButtonToKeyboard
{
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
{
// create custom button
UIButton * doneButton = [UIButton buttonWithType:UIButtonTypeCustom];
doneButton.frame = CGRectMake(-2, 163, 106, 53);
doneButton.adjustsImageWhenHighlighted = NO;
[doneButton setImage:[UIImage imageNamed:@"DoneUp.png"] forState:UIControlStateNormal];
[doneButton setImage:[UIImage imageNamed:@"DoneDown.png"] forState:UIControlStateHighlighted];
[doneButton addTarget:self action:@selector(saveNewLead:) forControlEvents:UIControlEventTouchUpInside];
// locate keyboard view
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
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 3.2) {
if([[keyboard description] hasPrefix:@"<UIPeripheralHost"] == YES)
[keyboard addSubview:doneButton];
} else {
if([[keyboard description] hasPrefix:@"<UIKeyboard"] == YES)
[keyboard addSubview:doneButton];
}
}
}
}
Das hat bis jetzt gut funktioniert.
Zunächst erhalte ich folgende Warnung:
Keyplane, das Typ 4 für die Tastatur iPhone-Portrait-NumberPad unterstützt, kann nicht gefunden werden. using 3876877096_Portrait_iPhone-Simple-Pad_Default
dann wird diese benutzerdefinierte Schaltfläche auch nicht angezeigt, was ich aufgrund dieser 2 Zeilen denke:
if([[keyboard description] hasPrefix:@"<UIPeripheralHost"] == YES)
und
if([[keyboard description] hasPrefix:@"<UIKeyboard"] == YES)
Irgendwelche Vorschläge?