UIView's
コントローラにはUIButton
があります。 UIButton
の位置は、UIViewの先頭から10ピクセル、UIViewの末尾位置から20ピクセルの別のUILabelから10ピクセルです。両方ともUIButton
& UILabel
は同じ高さと幅を持ちます。ビューは自動レイアウトモードで設計されています。自動レイアウトでUIButtonの位置を取得する方法
がXIBから初期位置を反映しているが、ビューがロードされた後に、ボタンの位置のように変更されるように、UIView's
コントローラ
UIView
-> `UIButton`, `UILabel`
------------------------------
| | |
| 10 |
| | |
| B - 20 - L |
| |
------------------------------
にViewDidLoad
方法で取得UIButtonの位置が正しくないボタン&ラベルの位置自動レイアウトが使用されています。
UIView
が表示されたら、UIButton
の位置(x & y)を検索するにはどうすればよいですか?
viewdidload
方法は、以下のように
- (void) Viewdidload() {
[UIView addSubview:object1];
---
[UIView addSubview:object2];
}
おかげです。
'viewDidLayoutSubviews()'は、ビューのレイアウトの回転やその後の変更があっても、ボタンの正しい座標を正しく取得できる場所です。 –
@AdilSoomro、viewDidLayoutSubviews()は、追加または削除されたすべてのサブビューに対して呼び出されます。私のケースでは、このメソッドが呼び出されているので、私はUIButtonの位置の値が違うことを観察することができました。 – user2071152
理想的には、 'viewDidLayoutSubviews()'に新しいビューを追加するのではなく、必要に応じてフレームや座標を設定するだけです。 –