Как добавить Custom Subview в виде клавиатуры и сверху? (работа в iOS8 и ниже не работает в iOS9)
Мой шаг:
- Я получаю вид клавиатуры из кода ниже (GetKeyboardView)
- Я создаю пользовательский вид, а затем добавляю в форму представления клавиатуры (1.)
У меня есть вопрос, почему это работает на iOS8 и ниже, но не работает в iOS9. Клавиатурный вид сверху каждого вида в iOS9. Как решить эту проблему? пожалуйста, предложите мне.
Код для получения клавиатуры (это работа)
- (UIView *) GetKeyboardView {
// locate keyboard view
int windowCount = (int)[[[UIApplication sharedApplication] windows] count];
if (windowCount < 2) {
return nil;
}
UIWindow* tempWindow = [[[UIApplication sharedApplication] windows] objectAtIndex:1];
UIView* keyboard;
for(int i = 0 ; i < [tempWindow.subviews count] ; i++)
{
keyboard = [tempWindow.subviews objectAtIndex:i];
// keyboard found, add the button
if([[keyboard description] hasPrefix:@"<UIPeripheralHost"] == YES){
return keyboard;
}//This code will work on iOS 8.0
else if([[keyboard description] hasPrefix:@"<UIInputSetContainerView"] == YES){
for(int i = 0 ; i < [keyboard.subviews count] ; i++)
{
UIView* hostkeyboard = [keyboard.subviews objectAtIndex:i];
if([[hostkeyboard description] hasPrefix:@"<UIInputSetHost"] == YES){
return keyboard;
}
}
}
}
return nil;
}
1 ответ
Использование
UIWindow* tempWindow = [UIApplication sharedApplication].windows.lastObject;
вместо
UIWindow* tempWindow = [[[UIApplication sharedApplication] windows] objectAtIndex:1];