添加子视图时访问父视图

时间:2011-12-05 06:02:51

标签: ios nsview nsviewcontroller

我有一个ViewController,它有两个不同大小的NSView。我想将自定义ViewController的视图作为子视图添加到这两个NSView中,并使其动态调整大小(2个父视图)。我可以在主布局的实现文件中完成这个,但它的代码很多。我想让我的自定义ViewController完成所有工作。为此,我需要知道我添加自定义视图的视图的高度和宽度。有一个parentViewController属性,但它没有为我做任何事情。有没有办法引用视图添加到的视图?

在我的自定义ViewController viewDidLoad方法中,我希望能够拥有

[self.view setFrame:CGRectMake(0, 0, 
    self.parentViewController.view.frame.size.width, 
    self.parentViewController.view.frame.size.height)];

但这里的高度和宽度均为零。

我一直在挖掘文档几个小时,我仍然感到困惑。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:4)

应该首先设置parentViewController属性。如果没有设置它将是零。您尚未指定是否正确设置。假设您的视图的superview设置正确,有一种更简单的方法可以做到这一点。试试这个:

[self.view setFrame:self.superview.frame];

如果您需要在那里更改某些内容,请从superview的框架中制作矩形。