问题描述
我想摆脱当您在 web 视图中聚焦文本字段时出现的键盘顶部的栏.我们有一些其他的方法来处理这个,这是多余的和不必要的.
I want to get rid of the bar on top of the keyboard that appears when you focus a text field in a webview. We have some other ways of handling this and it's redundant and unnecessary.
webview 键盘栏 http://beautifulpixel.com/assets/iPhone_Simulator-20100120-152330.png
如果您遇到此问题,请务必前往 http://www.51sjk.com/Upload/Articles/1/0/342/342963_20230209092032268.com 并复制 rdar://9844216
If you hit this problem, make sure to head over to http://www.51sjk.com/Upload/Articles/1/0/342/342963_20230209092032268.com and duplicate rdar://9844216
推荐答案
- (void)viewDidLoad { [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil]; } - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil]; } - (void)keyboardWillShow:(NSNotification *)notification { [self performSelector:@selector(removeBar) withObject:nil afterDelay:0]; } - (void)removeBar { UIWindow *keyboardWindow = nil; for (UIWindow *testWindow in [[UIApplication sharedApplication] windows]) { if (![[testWindow class] isEqual:[UIWindow class]]) { keyboardWindow = testWindow; break; } } 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]; } } } } }
这很好用.
网址:http://ios-blog.co.uk/iphone-development-tutorials/rich-text-editor-inserting-images-part-6/