できるだけ多くのデバイスをカバーすることを期待して、アプリケーションの開発中に時間とリソースを節約する方法は? 現在のデバイス数では、主な問題の1つは解決策です。
コメントに基づく免責事項:
複数のプラットフォームにまたがるサードパーティの開発環境で作業しています。 一般的に、私と同じ記事。
HOW-I-DID-BEFORE(またはHOW-NOT-NEEDED-TO-DO)
最初の考え:「iPhoneで動作するようにした後、iPad用にリメイクします。」
うまくいきました。 次に、iPadをやり直す必要があります。 デバイスのアスペクト比の割合を考え出します。 幅960から1024-比率1,067。 高さ-640〜768-1.2の比率。 そして残りのすべては、これらの数値ですべてのGUIの座標を乗算することです。 以上です!
しかし、一つだけあります! アプリケーションには12を超えるGUI要素があります。 そして、コードのそれぞれに、比率変数を追加する必要があります。 そしてサイズ!!! すべてのサイズのボタンとウィンドウを再描画する必要があります! そうでなければ、彼らは魔法のようにお互いに登ったり、不必要な穴を開けたりするからです。 テキストは、必要な場所にはまったく表示されません。 一般的に...
...何よりもアドバイス
座標の割合を忘れてください! 最初からすべてが正しく考慮されていれば、プログラミングもグラフィックスも絶対に時間がかかりません。 その結果、あらゆる解像度で動作する本格的な製品を入手できます。
ヒント2
GUIを計画するときは、画面の端を使用します。 それらからスタートします。 DeviceWidth、DeviceHeight、someimage.Width、およびsomeimage.Heightは、この点であなたの親友です。
これらの4つのパラメーターを使用すると、ほぼすべての解像度のコードを記述できます。
GUI要素の座標の選択方法。
計算は、アプリケーションが設計されている最小の解像度で開始する必要があります。 画像の原点は左上隅にあるという公理を採用します。
上部では、Y座標は常に0です。右側から始めましょう。
図1. GUI要素を右上隅から配置します。
左側の方が簡単です。
図2.左上隅からGUI要素を配置します。
結果として、距離Sを取得します。これは、画面の幅に応じて伸びます。 GUIの「左」要素は画面の左側に、「右」は右側に磁化されたままになります。
図3.距離S。画面幅が大きくなると長くなります。
完全を期すために、GUIの一番下の要素を示します。 X座標では、すべてがまったく同じです。Yの場合、画面の高さと画像の高さ(DeviceHeightとimage.Height)を使用します。
図4. GUIの下部要素。
背景画像の最後のヒント
背景画像は、そのエッジが重要な要素ではなく、美しい追加になるように最初に描画する必要があります。 そうすれば、必要な情報を失うことなく、いつでも画面の後ろに隠すことができます。 この場合、1つの画像がすべての(またはほぼすべての)解像度に適しています。
図5.画像の重要でない領域。
当然、写真の座標の中心が中央にあることを考慮して、背景画像を中心に配置する必要があります。
画面の中心は、DeviceWidth / 2、DeviceHeight / 2から簡単に取得できます。
結論の代わりに
これらの簡単なルールに従って、私は許可を得て私が大丈夫であることを知って、プロジェクトを簡単に開始できるようになりました。
もちろん、これはすべてのニュアンスの完全なリストではありません。 私はあなたの人生を楽にする主な本質を明らかにしようとしました。 したがって、コメントでは、グルのアドバイスとあなたの個人的な経験のニュアンスを聞きたいと思います。
UPD:
網膜では機能しません。 彼女にとって残念なことに、あなたは2回以上別々のグラフィックスを描く必要があります。
言い換えれば、この記事は、同様の権限のリソースを節約するのに役立ちます。 iOSアプリケーションの開発者は、iPad 3のリリースまでに3種類のグラフィックスを使用する必要があります。 1-iPhone Neretinaの場合、2-iPhone Retina + iPad Neretinaの場合、3-iPad Retinaの場合。
私はコメントを喜んでいます!