2012-01-26 48 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'属性可以用来完成这个任务。另一个说明:现在不再需要综合属性了。 : - } –