获取iOS sdk子视图的实际来源

时间:2013-05-27 13:08:10

标签: objective-c frame

我有框架

的视图
_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的较小版本)

1 个答案:

答案 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;