Roi*_*lia 1 converter uiview ios swift
我正在尝试将深层'Subview'框架转换为上层'UIView'.我在这里附加了视图层次结构.
附图:
我试过这个,但结果离开了屏幕:
let rect = smallSubview.convert(smallSubview.frame, to: bigSuperview)
Run Code Online (Sandbox Code Playgroud)
我正在尝试将小的"Subview"框架转换为"VideoCrop"/ bigSuperView坐标空间.有什么建议?谢谢!
不确定,但是你不应该考虑边界而不是你的smallSubView框架吗?
我的意思是 :
let rect = smallSubview.convert(smallSubview.bounds, to: bigSuperview)
Run Code Online (Sandbox Code Playgroud)
编辑
我无法回答你的评论,因此更新我的答案:)
转换API的快速视图建议
func convert(_ rect:CGRect,to view:UIView?) - > CGRect说明
将矩形从接收器的坐标系转换为另一个视图的坐标系.参数
rect在接收器的本地坐标系(边界)中指定的矩形.
view作为转换操作目标的视图.如果view为nil,则此方法将转换为窗口基坐标.否则,视图和接收器都必须属于同一个UIWindow对象.
因为它表明你应该考虑边界而不是框架:)
什么是框架和界限之间的区别呢?
边界:指定视图在其自己的坐标系中的位置和大小.框架:虽然这指定了其superViews坐标系中视图的位置和大小:)
因此任何视图的边界都将其原点为(0,0),其中框架的x和y相对于其superview :)而高度和宽度相同:)
| 归档时间: |
|
| 查看次数: |
694 次 |
| 最近记录: |