私のアプリには2つのUIWebViewsがあります。どちらも画面全体を占有しますので、一度に1つしか表示されません。 UIWebView Aが表示され、iPadを回転すると、HTMLが正しく表示されます(すべてのメディアクエリとCSSの計算が行われます)。しかし、私がUIWebView Bに切り替えると、HTMLタグは768ではなく512になり、すべてのCSS計算が乱れてしまいます。 UIWebView Bのウィンドウがチェックされ、orientationchangeイベントがトリガーされます(コンソールに書き込んだ直後)。表示されていないときに表示がレンダリングされないようです。何か案が?オリエンテーション変更後にUIWebViewが正しくレンダリングされない
0
A
答えて
1
非表示のUIWebViewは正しく表示されません(たとえば、非表示の場合はビューのイメージをキャプチャしようとします)。一度表示されると、ページレイアウトがトリガされ、その時点(現在のフレームサイズ)。
速い推測は、UIWebView.scalesPageToFit
を変更しようとしています。私はそれをtrueに設定し、あなたが記述した場合はそれをWFMにします。
複雑な例はhttps://github.com/brave/browser-iosで、UIWebViewsはタブとして隠されています(どのビュー階層でも非表示==)。そのアプリでは、画面の向きを変更して別のタブに切り替え、新しく選択したタブをルートビュー階層に追加して表示し、ウェブページを正しくレイアウトすることができます。
0
viewWillAppearでUIWebViewサイズを修正しました。スーパービューからサイズを取得しました:
UIWebView* webView = (UIWebView*)self.webView;
[webView setFrame:CGRectMake(0, 0, self.view.superview.frame.size.width, self.view.superview.frame.size.height)];
関連する問題
- 1. オリエンテーション変更後にフラグメントが正しく機能しない
- 2. WebViewがオリエンテーションの変更に正しく機能しない
- 3. オリエンテーション変更がグラブされない正しいレイアウト
- 4. フレックス:トランジションされた状態の変更後にコンテンツが正しくレンダリングされない
- 5. AsyncTaskLoaderがオリエンテーション変更後にonFinishedLoadを呼び出さない
- 6. オブジェクトメッシュが正しくレンダリングされない
- 7. コンポーネントが正しくレンダリングされない
- 8. サイトが正しくレンダリングされない
- 9. ポリマーペーパーヘッダーパネルが正しくレンダリングされない
- 10. CSSが正しくレンダリングされない
- 11. テクスチャが正しくレンダリングされない
- 12. VimeoビデオがUIWebViewに正しくフィッティングされていない、swift
- 13. アンドロイド:オリエンテーション変更のカスタムビューで、ビューが変更されない
- 14. Android:オリエンテーション変更後に削除されたカスタムオブジェクトへの変更
- 15. ズーム時にUITableViewCellの制約がUIWebView scrollViewで正しく更新されない
- 16. アプリケーションウィンドウのサイズ変更後にJavaFX UIエレメントのホバースタイルが正しくレンダリングされない
- 17. 小道具変更後にリアクションコンポーネントが再レンダリングされない
- 18. OnsenUI:オリエンテーション変更でカルーセルが更新されない
- 19. オリエンテーションがポートレート、iOSゲームに変更されない
- 20. アニメーション後にGoogleマップのコンテナのサイズが正しく変更されない
- 21. フレームセットのサイズがマウスのサイズ変更後に正しく調整されない
- 22. UIWebViewでフォントが正しく表示されない
- 23. 状態が変更された後に反応コンポーネントが再レンダリングされない
- 24. rythmレンダリング後にロシア語のテキストが正しく表示されない
- 25. サーバー変更後にAjaxスクリプトが正しく機能しない
- 26. observableArray.removeが手動でhtml変更された後正しく動作しない
- 27. オリエンテーション変更後のAndroidの参照がなくなりました
- 28. オリエンテーションが変更されたときにエフェクトが適用されない(swift3)
- 29. バンドルされたスクリプトが正しくレンダリングされない
- 30. UIWebViewのナビゲーションの変更を正しく聞くには?
ユーザーがタブを選択すると、新しいUIWebViewが階層にプッシュされます。前のタブはどうなりますか?それは階層から削除されていますか?もしそうなら、ユーザーが元に戻った場合、どのように状態を保持しますか? – oriharel
ユーザーがタブを作成し、新しいUIWebViewを作成してビュー階層に追加します(最初の質問にはいります)。前のタブのUIWebViewはビュー階層から削除されます(次の質問にははい)。前のタブを再度選択すると、そのUIWebViewがビュー階層に再追加されます。 UIWebViewがスーパービューから削除されたときにメモリ内に保持される(すなわち、変数に格納される)限り、状態は保持される。 –
良い計画のように聞こえます。予期せぬ結果を生じさせないために、私はUWebViewのサイズを直前に '修正'していました(viewWillAppear) - 親のサイズが正しいです。 – oriharel