1

私は自分が持ってUIWebViewいるフォーラムのモバイルスタイルに適合したものを持っています。Safariでは、見た目も機能も優れています。

しかし、私のUIWebView中には大きな問題があります。

投稿を引​​用または編集する場合、HTMLは。内に表示されますBBcode。さらに、コードを投稿すると、改行が無視されます。この問題により、アプリが完全に使用できなくなります。

Webビューは次のようにロードされます。

  //display the webview
    NSString *fullURL = @"http://www.mysite.com";
    NSURL *url = [NSURL URLWithString:fullURL];
    NSMutableURLRequest *requestObj = [NSMutableURLRequest requestWithURL:url];
    [_webTest loadRequest:requestObj];

これは、モバイルSafariの内部でどのように見えるかです(正しく)

ここに画像の説明を入力してください

そして最後に、それがUIWebView(誤って)内部でどのように見えるか

ここに画像の説明を入力してください

モバイルサファリとモバイルサファリの間でレンダリング方法を変更する可能性はありUIWebViewますか?ポイントは同じように見えるはずだと思いました!

4

1 に答える 1

2

これは、モバイル サファリと Web ビューのユーザー エージェント値が異なるためです。
同様の問題に関するこの SO 投稿を確認してください: UIWebView でユーザー エージェントを変更する (iPhone SDK)

承認されたソリューションのコード:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)req navigationType:(UIWebViewNavigationType)navigationType {
    NSMutableURLRequest *request = (NSMutableURLRequest *)req;

    if ([request respondsToSelector:@selector(setValue:forHTTPHeaderField:)]) {
        [request setValue:[NSString stringWithFormat:@"%@ Safari/528.16", [request valueForHTTPHeaderField:@"User-Agent"]] forHTTPHeaderField:@"User_Agent"];
    }
    return YES; 
}
于 2013-01-14T20:58:13.690 に答える