3

我有一个 ViewController,其中有 2 个不同大小的 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)];

但是这里的高度和宽度都是零。

我已经研究了几个小时的文档,但我仍然感到困惑。任何帮助将非常感激。

4

1 回答 1

4

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

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

如果您需要更改其中的某些内容,或者从超级视图的框架中制作矩形。

于 2011-12-05T06:22:56.303 回答