1. ホーム
  2. iphone

[解決済み] UIViewの位置をそのスーパービューのスーパービューに対して取得します。

2022-10-11 19:52:29

質問

UIViewにUIButtonを配置しています。これらのUIButtonの位置を知りたい。

私は、以下のことを知っています。 buttons.frame は私にポジションを与えますが、それはその直接のスーパービューに関してのみ、私にポジションを与えます。

UIButtonsのスーパービューを基準にして、これらのボタンの位置を見つけることができる方法はありますか?

例えば、"firstView"という名前のUIViewがあるとします。

そして、もう一つ"secondView"というUIViewがあります。この"SecondView"は"firstView"のサブビューになります。

そして、"secondView"のサブビューとしてUIButtonを持っています。

->UIViewController.view
--->FirstView A
------->SecondView B
------------>Button

さて、そのUIButtonの位置を、"firstView"を基準にして見つける方法はないでしょうか?

どのように解決するのですか?

これを使うことができます。

Objective-C

CGRect frame = [firstView convertRect:buttons.frame fromView:secondView];

スウィフト

let frame = firstView.convert(buttons.frame, from:secondView)

ドキュメントの参照。

<ブロッククオート

https://developer.apple.com/documentation/uikit/uiview/1622498-convert