8712


お世話になります。  
XcodeのStoryboardでViewのサイズ取得について質問があります。  
マルチデバイス対応をしたくて、AutoLayoutを利用しています。  
添付画像のツールバーは高さ44と左右のSpacingを0にConstraints設定しています。  
ラベルは一番下はツールバーに対してBottom Spaceと、上のラベルに対するTop
SpaceとのConstraintsを、以下他のラベルも上下関係のConstraintsを設定しています。  
上にある赤い部分はViewで、Top Spaceを0に、左右のSpacingを0に、Bottom
Spaceを一番上のラベルに対して5のConstraintsを設定しています。  
動作させると赤いViewはデバイスに対して大きさをきちんと変えてくれるのですが、この「Constraintsの制約によって大きさの変わったView」の正確なサイズを取得する事はできますか？  
ご教示頂ければ幸いです。

![Storyboard画面](https://i.stack.imgur.com/6iTdj.jpg)

追記：4/5  
ご指摘に従って再度試してみました。  
viewDidLayoutSubviewsで  
[self.view layoutIfNeeded];  
の後に数値を取得したところ、正しい値を取得できました。  
有難うございました。


CC BY-SA 3.0
2015-04-03T00:51:59.993
8706
2015-04-05T00:41:20.643
2015-04-05T00:41:20.643
8083
8083
question
ios xcode storyboard
XcodeのAutoLayoutについて


取得したいタイミングで、`UIView`のプロパティ「`frame`」を取得すれば、Constraintによって変更された後の大きさと位置になっています。

`\- (void)viewDidAppear:(BOOL)animated`メソッドや`\-
(void)viewDidLayoutSubviews`メソッドをオーバーライドして、取得すれば、自動レイアウト適用後のサイズと位置が取れます。


CC BY-SA 3.0
2015-04-03T04:01:09.857
8712
2015-04-03T06:13:30.547
2015-04-03T06:13:30.547
7362
8986
8706
answer