111

私はUIButtonsを配置したUIViewを持っています。それらのUIButtonの位置を見つけたいです。

buttons.frameが私に立場を与えてくれることは承知していますが、それが私に与えてくれるのはその直属の上司に関する立場だけです。

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

たとえば、「firstView」という名前の UIView があるとします。

次に、別の UIView、「secondView」があります。この「SecondView」は「firstView」のサブビューです。

次に、「secondView」のサブビューとして UIButton を持っています。

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

さて、「firstView」に関して、その UIButton の位置を見つける方法はありますか?

4

8 に答える 8

216

これを使用できます:

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

于 2013-07-10T13:50:43.543 に答える
8

フレーム: (X、Y、幅、高さ)。

そのため、スーパースーパービューでも幅と高さは変わりません。X、Y は次のように簡単に取得できます。

X = button.frame.origin.x + [button superview].frame.origin.x;
Y = button.frame.origin.y + [button superview].frame.origin.y;
于 2013-07-10T13:52:24.597 に答える