デバイスの解像度に応じて、ボタン、ラベル、ビューの位置を設定する必要があります。Interface builder でボタンと別のビューの寸法をパーセンテージで設定するにはどうすればよいですか?
2 に答える
いいえ、できません。やりたいことを達成する別の方法があるかもしれないので、正確に何をしようとしているのかを詳しく説明する必要があります。
要素が 2 つしかない場合、IB では通常の「ばねと構造体」で十分です。これらは、 に設定されている と
正確に一致します。 UIViewAutoresizing
UIView
十分でない場合は、スーパー ビューの「bounds.size」を使用して、メソッドIBOutlet
でサイズと位置を使用および計算する必要があります。viewDidLoad
[[UIScreen mainScreen] applicationFrame]
で画面のサイズを返しますpoint
。画面座標系でフレームまたはアプリケーションのルート ビューが表示されます。したがって、ステータス バーがある場合、原点は (0, 20) になります。
ただし、ここでも、要素を配置するスーパー ビューのサイズを確認して、要素の配置を決定する必要があります。
myView.superView.bounds.size.height * 0.8;
現在の画面のピクセル単位の解像度を本当に本当に知りたい場合 (これは非常に悪い考えです)、UIView にはプロパティ callcontentScaleFactor
がありますが、非常に低レベルの描画を行っていない限り、気にする必要はありません。これとともに。