J'ai téléchargé iOS 8 Gold Master pour l'iPhone et le SDK.
J'ai testé l'application et cela fonctionne bien, sauf pour une chose.
J'ai un champ de texte où un pavé numérique apparaîtra si l'utilisateur veut taper quelque chose, en plus, un bouton personnalisé est ajouté à la zone vide lorsque le clavier apparaît.
- (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];
}
}
}
}
Cela fonctionnait bien jusqu'à présent.
Tout d'abord, je reçois cet avertissement:
Impossible de trouver le clavier prenant en charge le type 4 pour le clavier iPhone-Portrait-NumberPad; en utilisant 3876877096_Portrait_iPhone-Simple-Pad_Default
alors ce bouton personnalisé ne s'affiche pas non plus, ce que je pense à cause de ces 2 lignes:
if([[keyboard description] hasPrefix:@"<UIPeripheralHost"] == YES)
et
if([[keyboard description] hasPrefix:@"<UIKeyboard"] == YES)
Aucune suggestion?