私は最初にUIViewController
が含まれている画像をInterface Builderで表示します(600x600 Any/Any View
を使用)。Xibビューとボタンを自動レイアウトと制約を使用してすべてのデバイスに合わせる方法
今のところ、ちょうどC
ラベルと再生ボタンをUIButton
を見てください。両方にAlign center x to: horizontal
という制約を追加しました。私が持っているものをプレビューすると(表示されている他のビューやボタンについて忘れると)、2つのボタンは適切に中央に配置されます。しかし、私が異なるデバイスサイズを切り替えると、サイズが変わることはありません。それは意味があります。
私が欲しいのは、2つのボタンを比例的に円形に保ち、スーパービューを中心にして、デバイスサイズに応じてサイズとY位置を適合させる方法です。そのためにはどんな制約が必要でしょうか?私はあなたが画像で見るスポットにボタンが詰まっているのを望まないので、私はそれらをデバイスのサイズに適応させたい。
これについてさらにお話します。ゲーム「カラースイッチ」は、特定のyまたはx位置に制限されたビュー/画像/ボタン/ラベルを持つという点で制約を使用しているようには見えません。 5cから6sへ行くと、それはゲームの爆破されたバージョンを見るようなものです。上部のボタンとタイトルラベルは、各デバイスの同じ位置に制限されていません。
申し訳ありませんが、明らかにするだけです。アップロードした画像に表示される各サークルは、独立した「IBOutlet UIButton」プロパティです。もともと、私はiPhone 5cでよく見えるようにすべての必要なx-y座標を計算しました。だから私はそれを幅の2分の1を取って、それを中心にするために画面の幅/ 2から引いた。 Xibが制約を構築しようとせずに元のコードを実行しただけの場合、すべてのボタンが新しい画面に合わせてスケールアップされますか? –
また、Any/AnyからCompact/Regularなどに切り替えるオプションがInterface Builderにあることも知っていますか?各デバイスの幅/高さのシナリオで、アップロードした画像を作成できますか?例:iPadオプションの場合は、すべての私の 'UIImages'と' UIButtons'を画面に合わせて大きくしてください。私はデバイスが補償する必要があるように、私の.pngファイルの@ 2xと@ 3xバージョンを持っています。私のアプリはデバイスローテーションを組み込んでいないので、いくつかのシナリオも同様に打ち消されます。どう思いますか? –