2014-09-23 3 views
1

У меня есть пользовательский вид ввода, который я заменяю клавиатурой iOS. Предыдущий в iOS 8, для iOS 7, я «оспаривал» фон на клавиатуре, обнаружив подкласс класса UIKBInputBackdropView (содержащегося в UIPeripheralHostView). Затем я смог установить альфа представления заднего плана, чтобы получить четкий пользовательский интерфейс ввода.iOS 8 пользовательский вид ввода цвет фона

С iOS 8 это больше не работает (я понимаю, что это неподдерживаемый API, и это риск). Через несколько экспериментов и чтения здесь, кажется, что вид пользовательского ввода теперь находится в иерархии представлений, как, например:

UIInputSetContainerView -> UIInputSetHost

Это не похоже, что больше не вид фона, который является обеспечение непрозрачность позади представления пользовательского ввода. Может ли кто-нибудь указать мне, как избавиться от эффекта полупрозрачного/размытия за моим пользовательским представлением ввода?

ответ

5

У меня была такая же проблема на iOS 8, и есть способ удалить фон из окна ввода.

- (void)removeKeyboardBackground 
{ 
    // Locate non-UIWindow. 
    UIWindow *keyboardWindow = nil; 
    for (UIWindow *testWindow in [[UIApplication sharedApplication] windows]) { 
     if (![[testWindow class] isEqual:[UIWindow class]]) { 
      keyboardWindow = testWindow; 
      break; 
     } 
    } 
    // Locate background. 
    for (UIView *possibleFormView in [keyboardWindow subviews]) { 
     if ([[possibleFormView description] hasPrefix:@"<UIInputSetContainerView"]) { 
      for (UIView* peripheralView in possibleFormView.subviews) { 
       if ([[peripheralView description] hasPrefix:@"<UIInputSetHostView"]) { 
        for (UIView* backSubiview in peripheralView.subviews) { 

        if ([[backSubiview description] hasPrefix:@"<UIKBInputBackdropView"]) { 
         [[backSubiview layer] setOpacity:0.0]; 
        } 
       } 
       } 

      } 
     } 
    } 
} 
+0

Вы использовали этот метод в главном представлении, который загружал бы пользовательское представление ввода или в собственное пользовательское представление ввода? Я пробовал оба, и, к сожалению, до сих пор у меня серый фон. Любая помощь приветствуется! –

+0

В ios 9 это не работает ... PLZ помогите мне. –

+1

Вы нашли решение для iOS9? – F79

Смежные вопросы