3

レンダリングに Quartz を使用する iPhone 用の小さなカード パズル ゲームを作成しています。iPhone ではシャープに見えますが、iPad ではギザギザに見えます (ユニバーサル アプリではないため、iPad では iPhone モードで実行しています)。これは通常の 2x ピクセル化だけでなく、本当に奇妙なことが起こっており、1x モードでも見ることができます。(以下のスクリーンショットを参照)

UIButtonView サブクラスの drawRect: メソッドでカードを描画しています。グラデーション付きのカード、丸みを帯びた角、影、およびカードの内容はすべて、drawRect: メソッドで Quartz を使用して描画されます。ただし、ビュー オブジェクトの transform プロパティを使用して、回転 (および、下から「引き上げる」ことができる小さいカードの移動) が適用されます。

ここで何が起こっているのですか?

編集:
iPhone からのiPhone
スクリーン ショット: iPad からのスクリーン ショット:iPad

4

1 に答える 1

0

これは基本的に iOS のバグです。

問題は、iPad の iPhone モードは iPhone 4 よりも前のものであり、一般的にディスプレイを保持するということです。実装方法は次のとおりです。iPad は 320x480 のビューポートをレンダリングするだけです。「2x」ボタンをタップしても、ビューポートは変更されません。物事はまだ 320x480 でレンダリングされ、(不十分に) 拡大されています。

Apple は間違いなくこれを改善し、「2x」モードのときにアプリを Retina でレンダリングする必要があります。

ただし、これ以上時間をかけないでください。これを修正できるのは Apple だけです。

于 2012-12-08T23:07:52.623 に答える