如何将一个视图的框架放入另一个视图中?
我在 self.view (主视图)中有一个 UIImageView ,里面有一个 UIButton 。我想知道 self.view
中的 UIButton
的框架是什么,而不是 UIImageView
中的框架。
I have an UIImageView
in the self.view
(the main View) and inside it there is a UIButton
. I want to know what's the frame of UIButton
in self.view
not in UIImageView
.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我猜你正在寻找这个方法
–convertRect:toView:
I guess you are looking for this method
– convertRect:toView:
有四种
UIView
方法可以帮助您将CGPoints
和CGRects
从一个UIView
坐标引用转换为另一个:所以你可以尝试
或
There are four
UIView
methods which can help you, convertingCGPoints
andCGRects
from oneUIView
coordinate reference to another:so you can try
or
Swift 3
您可以使用以下命令将按钮的框架转换为视图的坐标系:
self.view.convert(myButton.frame, from: myButton.superview)
确保将您的逻辑位于
viewDidLayoutSubviews
中,而不是viewDidLoad
中。几何相关操作应在子视图布局后进行,否则可能无法正常工作。转换框架时,您可以只引用
myButton.superview
而不是myImageView
。以下是转换
CGPoint
或CGRect
的更多选项。请参阅 Apple 开发人员文档 有关转换
CGPoint
或CGRect
的更多信息。Swift 3
You can convert the button's frame to the view's coordinate system with this:
self.view.convert(myButton.frame, from: myButton.superview)
Make sure to put your logic inside
viewDidLayoutSubviews
and notviewDidLoad
. Geometry related operations should be performed after subviews are laid out, otherwise they may not work properly.You can just reference
myButton.superview
instead ofmyImageView
when converting the frame.Here are more options for converting a
CGPoint
orCGRect
.See the Apple Developer Docs for more on converting a
CGPoint
orCGRect
.像这样的东西吗?可能是完全错误的,我真的想通了;p
我不知道是否有更简单的方法。
Something like this? might be totally wrong, dint really thinkt it through ;p
I don't know if theres any easier way.