Как добавить Custom Subview в виде клавиатуры и сверху? (работа в iOS8 и ниже не работает в iOS9)

Мой шаг:

  1. Я получаю вид клавиатуры из кода ниже (GetKeyboardView)
  2. Я создаю пользовательский вид, а затем добавляю в форму представления клавиатуры (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];

Другие вопросы по тегам