2016-11-12 24 views
0

私は最初にUIViewControllerが含まれている画像をInterface Builderで表示します(600x600 Any/Any Viewを使用)。Xibビューとボタンを自動レイアウトと制約を使用してすべてのデバイスに合わせる方法

MainViewController

今のところ、ちょうどCラベルと再生ボタンをUIButtonを見てください。両方にAlign center x to: horizontalという制約を追加しました。私が持っているものをプレビューすると(表示されている他のビューやボタンについて忘れると)、2つのボタンは適切に中央に配置されます。しかし、私が異なるデバイスサイズを切り替えると、サイズが変わることはありません。それは意味があります。

私が欲しいのは、2つのボタンを比例的に円形に保ち、スーパービューを中心にして、デバイスサイズに応じてサイズとY位置を適合させる方法です。そのためにはどんな制約が必要でしょうか?私はあなたが画像で見るスポットにボタンが詰まっているのを望まないので、私はそれらをデバイスのサイズに適応させたい。

これについてさらにお話します。ゲーム「カラースイッチ」は、特定のyまたはx位置に制限されたビュー/画像/ボタン/ラベルを持つという点で制約を使用しているようには見えません。 5cから6sへ行くと、それはゲームの爆破されたバージョンを見るようなものです。上部のボタンとタイトルラベルは、各デバイスの同じ位置に制限されていません。

+0

申し訳ありませんが、明らかにするだけです。アップロードした画像に表示される各サークルは、独立した「IBOutlet UIButton」プロパティです。もともと、私はiPhone 5cでよく見えるようにすべての必要なx-y座標を計算しました。だから私はそれを幅の2分の1を取って、それを中心にするために画面の幅/ 2から引いた。 Xibが制約を構築しようとせずに元のコードを実行しただけの場合、すべてのボタンが新しい画面に合わせてスケールアップされますか? –

+0

また、Any/AnyからCompact/Regularなどに切り替えるオプションがInterface Builderにあることも知っていますか?各デバイスの幅/高さのシナリオで、アップロードした画像を作成できますか?例:iPadオプションの場合は、すべての私の 'UIImages'と' UIButtons'を画面に合わせて大きくしてください。私はデバイスが補償する必要があるように、私の.pngファイルの@ 2xと@ 3xバージョンを持っています。私のアプリはデバイスローテーションを組み込んでいないので、いくつかのシナリオも同様に打ち消されます。どう思いますか? –

答えて

0

ボタンを最上位ビューの中央に配置し、幅をビューの幅に比例するように制約を作成できます。大きな画面では、ボタンは大きくなり、小さい画面では小さくなります。

+0

応答のおかげで、ジェリー。残念ながら私はそれを試みましたが、大きな画面のボタンの位置に関しては、トップレベルのビューからyポジションに制約されています。新しい画面にy位置を適応させる方法があれば、それを幅と高さに合わせて調べます。しかし、私はまだ解決策を見いだすことはできません –

+0

すべての制約を削除し、2つ、1つは水平に中央に、もう1つは垂直に中央に配置します。 – Jerry

関連する問題