Я загрузил iOS 8 Gold Master для iPhone и SDK.
Я протестировал приложение, и оно работает нормально, за исключением одного момента.
У меня есть текстовое поле, в котором отображается цифровая клавиатура, если пользователь хочет что-то напечатать, кроме того, при появлении клавиатуры в пустую область добавляется настраиваемая кнопка.
- (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];
}
}
}
}
До сих пор это работало нормально.
Прежде всего, я получаю предупреждение:
Не удалось найти клавиатуру, которая поддерживает тип 4 для клавиатуры iPhone-Portrait-NumberPad; с использованием 3876877096_Portrait_iPhone-Simple-Pad_Default
тогда эта настраиваемая кнопка также не отображается, что, как я думаю, из-за этих двух строк:
if([[keyboard description] hasPrefix:@"<UIPeripheralHost"] == YES)
и
if([[keyboard description] hasPrefix:@"<UIKeyboard"] == YES)
Какие-либо предложения?