1

これらのプロパティを持つ webview を含む iPhone アプリケーションに取り組んでいます。

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

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

問題は、入力を入力しようとすると、キーボードが上昇し、すべてのページも上昇することです。しかし、キーボードが下がった後、ページ自体は上向きのままです。

例 1

WebView にはスクロールがないため、アプリを再起動するまでページを正しく表示できません。

何か案は?

4

1 に答える 1

0

これが簡単な解決策です。まず、ViewControllerに次のコード行を追加します- (void)viewDidLoad

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

これは、キーボードが非表示になったときに通知を受け取るためです。

次のメソッドをViewControllerに追加します。

- (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 に答える