2012-01-26 49 views
18

如果我知道UIView已添加到,有沒有從孩子內訪問原生方式嗎?的UIView父參考

例如。 [self parent] // returns parent UIView

回答

36

當然:UIViewsuperview屬性。

-1

在童車.H父創建一個屬性:

ParentView *parentView; 

@property (nonatomic, retain) ParentView *parentView; 

(請務必在@synthesize童車.M你的財產)

然後,當你分配一個孩子的實例時,將自己賦值給父視圖屬性

在家長的m:

Child *child = [[Child alloc] init]; 
[child setParentView:self]; 

,那麼你可以從孩子與訪問父視圖:

[self parentView]; 
+0

這是不這樣做的OP要求的*本地*的方式。 'UIView'中的'superview'屬性可以用來完成這個任務。另一個說明:現在不再需要綜合屬性了。 : - } –