Ham*_*mid 7 keyboard uiwebview ios ios8 uiinputviewcontroller
请耐心等待,我在互联网上搜索了很多,但由于它是一个新的API,我找不到解决方案.
我正在尝试为iOS 8创建一个自定义键盘.除了在WebView中,它的工作方式非常好!它有前一个 - 下一个按钮,它在inputAccessoryView.我知道它是webview的只读属性,但由于iOS 8允许用户使用自定义键盘,我认为这个视图应该可以在某处编辑.有没有人遇到同样的问题?任何帮助,将不胜感激.
您可以尝试改进这一点.尝试在您的UIKeyboardDidShowNotification事件处理程序中调用此函数.
-(void) removeKeyboard {
UIWindow *keyboardWindow = nil;
for (UIWindow *testWindow in [[UIApplication sharedApplication] windows]) {
if (![[testWindow class] isEqual : [UIWindow class]]) {
keyboardWindow = testWindow;
break;
}
}
// Locate UIWebFormView.
for (UIView *possibleFormView in [keyboardWindow subviews]) {
if ([[possibleFormView description] hasPrefix : @"<UIInputSetContainerView"]) {
for (UIView* peripheralView in possibleFormView.subviews) {
for (UIView* peripheralView_sub in peripheralView.subviews) {
// hides the backdrop (iOS 8)
if ([[peripheralView_sub description] hasPrefix : @"<UIKBInputBackdropView"] && peripheralView_sub.frame.size.height == 44) {
[[peripheralView_sub layer] setOpacity : 0.0];
}
// hides the accessory bar
if ([[peripheralView_sub description] hasPrefix : @"<UIWebFormAccessory"]) {
for (UIView* UIInputViewContent_sub in peripheralView_sub.subviews) {
CGRect frame1 = UIInputViewContent_sub.frame;
frame1.size.height = 0;
peripheralView_sub.frame = frame1;
UIInputViewContent_sub.frame = frame1;
[[peripheralView_sub layer] setOpacity : 0.0];
}
CGRect viewBounds = peripheralView_sub.frame;
viewBounds.size.height = 0;
peripheralView_sub.frame = viewBounds;
}
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助...
这是附件中的视图级别:
(UIWebFormAccessory) - >(UIToolbar) - >(UIImageView,UIToolbarButton,UIToolbarButton)
移除或缩放到零高度附件栏将导致黑色区域.你可以玩主视图的框架或边界.或者如果您只是想摆脱按钮,只需尝试在UITool按钮上设置0不透明度,工具按钮在uitoolbar视图中
| 归档时间: |
|
| 查看次数: |
4438 次 |
| 最近记录: |