我有框架
的视图_SceneImageView.frame = CGRectMake(20, 95, 984, 558);
和I.m使用框架
向此_SceneImageView添加子视图subview.frame = CGRectMake(325, 220, 200, 200);
现在我想将该子视图添加到另一个带框架的视图
anotherView.frame = CGRectMake(450, 110, 512, 405);
如何将子视图的矩形从大视图转换为较小的视图???
有两个图像视图,_SceneImageView.frame = CGRectMake(20,95,984,558); 和另一个在另一个View.frame = CGRectMake(450,110,512,405);
我将一个子视图添加到_SceneImageView,现在我想将子视图的矩形转换为"另一个视图" (anotherView是_SceneImageView的较小版本)
答案 0 :(得分:1)
您应该使用-(CGRect)convertRect:fromView:
。例如:
CGRect subFrame;
CGRect sceneFrame;
// root frame
_SceneImageView.frame = CGRectMake(20, 95, 984, 558);
// sub frame
subview.frame = CGRectMake(325, 220, 200, 200);
// frame with coordinates from root view
sceneFrame = CGRectMake(450, 110, 512, 405);
// convert coordinates from root view to coordinates for subview
subFrame = [subview convertRect:sceneFrame fromView:_SceneImageView];
anotherView.frame = subFrame;