テキストを含む UIWebView を使用しています。iPhone を横向きに回転すると、テキストが UIWebView の幅に収まりません。私は P (段落) タグを使用していますが、これはランドスケープの幅を埋めるコンテンツには影響しません。縦向きに見える改行は、横向きでも変わりません。Interface Builder では、何も変更していません。IB Inspector では、Web View Size の AutoSizing の下にすべての実線のバーがあります。
4 に答える
これは良いことではありませんが、アップル自体で何かを処理する必要があります。
お気づきのように、WebView を縦向きで初期化してから横向きにすると、問題なく動作します。だから..できることは、常に縦方向の境界でWebビューを初期化し、2〜3秒後にコールバックして要件に応じてwebViewのフレームを設定するセレクターを追加することです。
webview のフレーム サイズが縦向き (たとえば 320,460) のときにコンテンツの読み込みが開始されたため、コードにこの行がある場合、webview を横向きに変換すると、web ビューが自動的に調整されます。
[webViewObjet_ setAutoresizingMask:UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight];
以下はコードのスニペットです
- (id) initWithFrame:(CGRect)frame
{
if (self = [super initWithFrame:frame])
{
webViewObjet_ = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)];
.....
}
}
- (void) webViewDidStartLoad:(UIWebView *)webView
{
.....
[self performSelector:@selector(chuss) withObject:nil afterDelay:3];
// call the function chuss after 3 second
}
- (void) chuss
{
webViewObjet_.frame = CGRectMake(0, 0, self.frame.size.width, self.frame.size.height);
[webViewObjet setAutoresizingMask:UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight];
}
同じ問題を試してみましたが、Apple の "WhichWayIsUp"-Sample で詳細を調べた後、最終的に解決しました。
短くするために:
1) ビュー インスペクターで |--| を無効にします。そして<-->
2) `View Mode を Webview から "Aspect Fill" に切り替えます
出来上がり;)
キープ・ザ・バイブス、マニアック
これは奇妙に聞こえるかもしれませんが、うまくいきます:
UIWebView が UINavigationController 内にある場合、すべて正常に動作します。私は同じ問題を抱えていたので、 UINavigationController にラップするだけで問題はなくなりました。
何らかの理由で、 UINavigationController は回転を魔法のように機能させます。
私も同じ問題を抱えてる。リロードは機能しません。コードに次の行を追加するだけで、少しは解決するようです。
self.view.autoresizingMask = UIViewAutoresizingFlexibleWidth;
(私は willAnimateFirstHalfOfRotationToInterfaceOrientation 関数に配置します)
右側に小さな白い余白が残りますが、デフォルトよりもはるかに優れています。注: UIWebView インスタンスではなく、self.view にこれを適用する必要があります。これは機能しません。
Appleからの解決策を待っています..
ピーター