2013-05-27 22 views
0

我有看法與框架獲取子視圖的iOS SDK的實際起源

_SceneImageView.frame = CGRectMake(20, 95, 984, 558); 

和Im添加一個子視圖到這個_SceneImageView與框架

subview.frame = CGRectMake(325, 220, 200, 200); 

現在我想的是子視圖添加到另一個視圖與框架

anotherView.frame = CGRectMake(450, 110, 512, 405); 

如何將subview從更大的視圖rect轉換爲更小的視圖?有兩個圖像視圖,_SceneImageView.frame = CGRectMake(20,95,984,558); _SceneImageView.frame = CGRectMake(20,95,984,558); 等在另一個View.frame = CGRectMake(450,110,512,405);

我一個子視圖添加到_SceneImageView,現在我想子視圖的矩形相對於轉換爲「anotherView」(anotherView是_SceneImageView的縮小版本)

+0

我真的不知道你在這裏試過什麼。你當然可以使用:'[anotherView setFrame:CGRectMake(x,y,width,height)]'。但你已經知道了。所以請張貼更多的細節。 – Kuba

+0

'convertRect:toView:'或'convertRect:fromView:'有什麼問題? –

+0

我的問題是,如何在這種情況下使用這些方法(convertRect:toView:或convertRect:fromView :)? –

回答

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; 
+0

thanx的回覆...但它不工作...我想轉換子視圖幀不是其他視圖框架,我想要的子視圖相對於「anotherView」的相對框架 –