4

フルスクリーンのUIWebViewを使用して、iOSでHTML5アプリケーションを格納/レンダリングしています。私はそれらを使用していませんが、Cordova/phonegapに非常によく似ています。Webビューのサイズを下にある表示と一致させようとしています。残念ながら、Retinaディスプレイでは、self.view.boundsによって返される値はUIScreenスケーリング係数に依存しています。したがって、2048x1536ではなく1024x768になります。(ステータスバーを調整した後)小さい境界を使用してUIWebViewをインスタンス化し、いくつかのものが少しギザギザになることを除いて、大きな問題ではありません。特に、いくつかのポイントでキャンバスを使用しており、丸みを帯びた境界線も太く見えます。明確にするために、これはスケーリングされたラスターリソースの場合ではありません。

そのUIWebViewを使用して画面のフル解像度を取得していません。理想的には、画面スケールを1.0に設定したいのですが、サポートされていないようです。画面を最大限に活用するための最善の方法について何か提案はありますか?

この問題は、iPhone5シミュレータで最も顕著です。テストするハードウェアがありません。iPad /新しいiPad問題があると思いますが、ジャギーはそれほど目立ちません。

更新:これを見れば見るほど、キャンバスに限定される可能性があると思います。

解決策:他の誰かがここに来た場合に備えて。以下の回答に基づいて、幅と高さにwindow.devicePixelRatioを掛けたすべてのキャンバス要素を作成し、それらのスタイル属性を元の(デバイスに依存しない)サイズに設定しました。

4

1 に答える 1

1

https://stackoverflow.com/a/7736803/341994を参照してください。基本的に、解像度が2倍になっていることを検出し、キャンバスの解像度を効果的に2倍にする必要があります。

于 2012-09-23T00:55:56.213 に答える