次のコードを使用して、UIView内に子UIView(白いボックス)を設定しました。親ビューの内部にuiviewのサイズを設定する方法は?
float x = 10.0;
float y = 40.0;
float w = self.view.frame.size.width - 20.0f;
float h = self.view.frame.size.height/3.0;
UIView *whiteBox = [[UIView alloc] initWithFrame:CGRectMake(x, y, w, h)];
基本的に、親UIViewの両余白に10ピクセルの白いボックスを描画したいとします。ただし、白いボックスの右側は常に親ビューの境界を超えています。 self.view.frame.size.widthが実際のビューの幅よりも大きいようです。私はシミュレータとしてiphone5Sを使用しています。 ホワイトボックスの正しい幅をどのように設定できるかを知りたいだけです。
幅は600で、ViewDidLoadメソッド内にあります。はい、私は既に行われているストーリーボードで自動レイアウトを使用できます。私は、コード内でこれをどうやって達成するのか不思議です。もちろん、自動レイアウト制約をプログラミングで使用することはできます。私はちょうどuiviewのフレームの幅が私の現在のシミュレータ(Iphone5S)に適していないように見える理由を知りたいです。 – mmjuns
'ViewDidLoad'があなたの問題です。この方法の後、フレームは設定されません。 'ViewWillAppear:'または 'ViewDIdAppear:'に移動してみてください。http://stackoverflow.com/questions/6757018/why-am-i-having-to-manually-set-my-views-frame-in-viewdidload詳細情報 –