Ele*_*nny 2 keyboard background ios8
我有一个自定义输入视图,我用iOS键盘换出.在iOS 8之前,对于iOS 7,我通过查找类UIKBInputBackdropView(由UIPeripheralHostView包含)的子视图来"触发"键盘背景.然后我能够设置背景视图的alpha以获得清晰的自定义输入视图背景.
使用iOS 8,这不再有效(我意识到它是不受支持的API,这是风险).通过这里的一些实验和阅读,似乎现在可以在视图层次结构中找到自定义输入视图:
UIInputSetContainerView - > UIInputSetHost
看起来不再有背景视图提供自定义输入视图后面的不透明度.有人能指出我如何摆脱我的自定义输入视图背后的半透明/模糊效果?
我在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];
}
}
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1466 次 |
| 最近记录: |