Доступ к родительскому представлению при добавлении подпредставления - PullRequest
3 голосов
/ 05 декабря 2011

У меня есть ViewController, в котором есть 2 NSViews разных размеров. Я хочу добавить представление пользовательского ViewController в качестве subView для обоих этих 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 Ответ

4 голосов
/ 05 декабря 2011

Свойство parentViewController должно быть установлено в первую очередь. Это будет ноль, если он не установлен. Вы не указали, правильно ли он установлен. Существует более простой способ сделать это, предполагая, что суперпредставление вашего представления установлено правильно. Попробуйте это:

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

или сделайте прямоугольник из кадра суперпредставления, если вам нужно что-то там изменить.

...