在我的视图控制器中,我添加了一个容器视图作为根视图的子视图。之后,我创建一个按钮作为容器的子视图。我想在根视图中获取按钮的框架。但是当我使用button.frame
时,我得到了与容器相关的按钮框架。那么,有人可以告诉我如何让按钮的正确框架与控制器的根视图相关吗?
谢谢,等待你的帮助。
答案 0 :(得分:2)
您正在寻找的方法是-[UIView convertRect:fromView:]
。你可以这样做:
CGRect frameInRootView = [self.view convertRect:button.frame fromView:self.containerView]
也有一些相关的功能。您还可以将转换为视图。使用convertRect:toView:
方法,您可以从按钮的边界转到目标视图,例如:
CGRect frameInRootView = [button convertRect:button.bounds toView:self.view]
-[UIView convertRect:fromView:]
将输入rect从接收器的坐标系转换为fromView
参数到接收器的坐标系。 -[UIView convertRect:toView:]
走另一个方向。