如何在iOS 6上找到UIWebView工具栏(替换它们)?

我从另一个应用程序尝试了以下代码,但它没有找到任何东西。 为什么? 如何访问UIWebView工具栏?

 - (UIToolbar *)findVirginWebKeyboardToolbar:(UIView *)parent { if ([parent isKindOfClass:[UIToolbar class]]) { UIToolbar *tb = (UIToolbar *)parent; if ([tb.items count] == 1 && [((UIBarButtonItem *)[tb.items objectAtIndex:0]).customView isKindOfClass:[UISegmentedControl class]]) { return tb; } } for (UIView *view in parent.subviews) { UIToolbar *tb = [self findVirginWebKeyboardToolbar:view]; if (tb) return tb; } return nil; } - (void)removeKeyboardBar { UIView *keyboardWindow = nil; for (UIWindow *testWindow in [[UIApplication sharedApplication] windows]) { keyboardWindow = testWindow; UIToolbar *toolbar = [self findVirginWebKeyboardToolbar:keyboardWindow/*subviewWhichIsPossibleFormView*/]; if (toolbar) { itemsArray = [NSArray arrayWithObjects:button1, button2, button3, nil]; [toolbar setItems:itemsArray]; } } } 

使用以下代码,您应该能够删除键盘上方的工具栏。

 -(void)viewWillAppear:(BOOL)animated{ [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil]; } - (void)keyboardWillShow:(NSNotification *)note { [self performSelector:@selector(removeBar) withObject:nil afterDelay:0]; } - (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 *formView in [keyboardWindow subviews]) { // iOS 5 sticks the UIWebFormView inside a UIPeripheralHostView. if ([[formView description] rangeOfString:@"UIPeripheralHostView"].location != NSNotFound) { for (UIView *subView in [formView subviews]) { if ([[subView description] rangeOfString:@"UIWebFormAccessory"].location != NSNotFound) { // remove the input accessory view [subView removeFromSuperview]; } else if([[subView description] rangeOfString:@"UIImageView"].location != NSNotFound){ // remove the line above the input accessory view (changing the frame) [subView setFrame:CGRectZero]; } } } } }