1

我正在开发一些包含具有以下属性的 webview 的 iPhone 应用程序:

[[webView.subviews objectAtIndex:0] setScrollEnabled:NO];  //to stop scrolling

[[webView.subviews objectAtIndex:0] setBounces:NO]; //to stop bouncing

在 webview 上有一个文本输入问题是,在我尝试输入输入后,键盘正在上升,所有页面也是如此。但在键盘关闭后,页面本身保持向上。

例子 1

因为 webview 没有滚动,所以在我重新启动应用程序之前无法正确查看页面。

有任何想法吗?

4

1 回答 1

0

这是一个简单的解决方案。- (void)viewDidLoad首先在您的视图控制器中添加这行代码:

[[NSNotificationCenter defaultCenter] addObserver:self 
                                         selector:@selector(keyboardDidHide:) 
                                             name:UIKeyboardDidHideNotification 
                                           object:nil];

这样您就可以在键盘隐藏时收到通知。

将以下方法添加到您的视图控制器:

- (void)keyboardDidHide: (NSNotification*) notification
{
    UIScrollView* scroll = nil;

    if([webView respondsToSelector: @selector(scrollView)])
        scroll = webView.scrollView; //iOS5 and up
    else
        scroll = [webView.subviews objectAtIndex:0]; //iOS4 and below

    [scroll setContentOffset: CGPointMake(0, 0)];
}

这将导致您的 UIWebView 在键盘隐藏时滚动到 0, 0(顶部)。

于 2012-04-19T16:31:09.690 回答