【问题标题】:How to remove keyboard bar with buttons Previous and Next and Done on UIWebView? [duplicate]如何在 UIWebView 上使用“上一个”和“下一个”和“完成”按钮删除键盘栏? [复制]
【发布时间】:2012-12-22 04:23:13
【问题描述】:
【问题讨论】:
标签:
iphone
objective-c
ios
uiwebview
【解决方案1】:
Register for notification on keyboard showing:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
Then:
- (void)removeBar
{
// Locate non-UIWindow.
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])
{
// iOS 5 sticks the UIWebFormView inside a UIPeripheralHostView.
if ([[possibleFormView description] rangeOfString:@"UIPeripheralHostView"].location != NSNotFound)
{
for (UIView *subviewWhichIsPossibleFormView in [possibleFormView subviews])
{
if ([[subviewWhichIsPossibleFormView description] rangeOfString:@"UIWebFormAccessory"].location != NSNotFound)
{
[subviewWhichIsPossibleFormView removeFromSuperview];
}
}
}
else if ([[possibleFormView description] rangeOfString:@"UIImageView"].location != NSNotFound)
{
[possibleFormView removeFromSuperview]; //remove shadow above bar. If it doesn't remove shadow then set possibleFormView's frame as CGRectZero
}
}
}