Вид не отображается "Иногда" Какао - PullRequest
0 голосов
/ 30 июня 2011

В моем AppDelegate-> applicationWillFinishLaunching я загружаю два контроллера представления с

NSViewController *v = [[MyCustomViewController alloc] initWithNibName:@"aNib" bundle:nil];

MyCustomViewController's initWithNibName: bundle: метод автоматически генерируется:

self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
...

Я добавляю их представление вПользовательское представление: [theMainView addSubview: [v view]]

Я не могу понять, почему иногда (например, один из десяти) представления загружаются, но не отображаются.

РЕДАКТИРОВАНИЕ:

MyCustomViewController1 *v = [[MyCustomViewController1 alloc] initWithNibName:@"aNib" bundle:nil];
[themainview addSubview:[v view]];

MyCustomViewController2 *v2 = [[MyCustomViewController2 alloc] initWithNibName:@"aNib2" bundle:nil];
[themainview addSubview:[v2 view]];

self.view1 = [[themainview subviews] objectAtIndex:0];
self.view2  = [[themainview subviews] objectAtIndex:1];

[view2 setHidden:YES];

view1 и view2 - это 2 свойства NSView, синтезированные в AppDelegate

1 Ответ

0 голосов
/ 30 июня 2011

Ваша проблема может заключаться в том, что вы полагаетесь на представления, находящиеся по определенным индексам массива subviews themainview.Вы должны быть уверены, что вы устанавливаете правильные представления.

Попробуйте вместо этого:

MyCustomViewController1 *v = [[MyCustomViewController1 alloc] initWithNibName:@"aNib" bundle:nil];
[themainview addSubview:[v view]];

MyCustomViewController2 *v2 = [[MyCustomViewController2 alloc] initWithNibName:@"aNib2" bundle:nil];
[themainview addSubview:[v2 view]];

self.view1 = [v view];
self.view2  = [v2 view];

[view2 setHidden:YES];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...