0

たとえば、アスペクト比を維持しながら、記事を読むために水平方向にスクロールする必要性を軽減する UIWebView で Web ページをスケーリングする方法はありますか。垂直スクロールは問題ありません。記事の各行を読むために、ユーザーが常に水平方向に前後にスクロールする必要がないようにしたいだけです。ありがとう!

編集:ビューの作成に使用しているコード

    _webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, [[self view] frame].size.width, [[self view] frame].size.height)];
    [_webView setAutoresizingMask:UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth];
    [_webView setDelegate:self];
    [_webView setScalesPageToFit:YES];
    [_webView loadRequest:[NSURLRequest requestWithURL:[headline link]]];

リンクは常にモバイル用にフォーマットされています。

4

1 に答える 1

8

UIWebView のビューポートを定義すると役立つと思います。

<meta name="viewport" content="width=device-width"/>

これは、デバイスの全幅を使用するためです。UIWebView が小さい場合は、その幅をポイント単位で指定できます。

ページを読み込んだ後に HTML にメタ タグを追加する必要がある場合は、次のコードを使用できます。

- (void) webViewDidFinishLoad:(UIWebView *)webView {

  NSString* js = 
  @"var meta = document.createElement('meta'); "
   "meta.setAttribute( 'name', 'viewport' ); "
   "meta.setAttribute( 'content', 'width = device-width' ); "
   "document.getElementsByTagName('head')[0].appendChild(meta)";

  [webView stringByEvaluatingJavaScriptFromString: js];        
}

また、同じための別の手法については、この SO スレッドを確認してください。

于 2012-07-06T19:10:14.423 に答える