UIView父视图引用

21

如果我知道一个UIView已经被添加到一个父视图中,是否有一种本地方法可以从子视图中访问父视图

例如:[self parent] // 返回父UIView

3个回答

43
当然: UIView 类有一个 superview 属性。

11

-1
在 Childs.h 中为父类创建一个属性:
ParentView *parentView;

@property (nonatomic, retain) ParentView *parentView;

(在Child的.m文件中确保对属性进行@synthesize)
然后,当您分配子类实例时,立即将self分配给parentView属性。
在Parent的.m文件中:
Child *child = [[Child alloc] init];
[child setParentView:self];

然后你可以使用以下代码从子视图访问父视图:

[self parentView];

这不是 OP 所要求的 本地 方法。UIView 中的 superview 属性作为一种本地方法来实现此操作。另一个注意点:现在不再需要合成属性了。 :-} - Victor Zamanian

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接