Подвиды в иерархии UIView не отображают подвиды - PullRequest
0 голосов
/ 13 февраля 2012

При выполнении этого действия отображается полностью черный экран с панелью инструментов

- (void)displayviewsAction:(id)sender
{

self.view = [[[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]]autorelease];

self.view.frame = CGRectMake(0, 0, 320, 480);

[self.view addSubview:toolbar];

UIView *viewController = [[UIView alloc] init];

UIView *secondController = [[UIView alloc] init];

[self.view insertSubview:viewController atIndex:1];

[self.view insertSubview:secondController atIndex:2];

NSLog(@"%d", [[self.view subviews] indexOfObject:viewController]); // Is 1

NSLog(@"%d", [[self.view subviews] indexOfObject:secondController]); // Is 2

[self.view bringSubviewToFront:viewController];

 NSLog(@"%d", [[self.view subviews] indexOfObject:viewController]);

[self.view sendSubviewToBack:viewController];

 NSLog(@"%d", [[self.view subviews] indexOfObject:viewController]);

[self.view bringSubviewToFront:secondController];

NSLog(@"%d", [[self.view subviews] indexOfObject:secondController]); 

SecondViewController * secondController = [[[SecondViewController alloc] init]autorelease];

secondController.view.frame = CGRectMake(0, 0, 320, 480);

[self.view addSubview:secondController.view];

[self.view addSubview:toolbar];

}

Любые идеи, почему вид на панели инструментов выглядит полностью черным.

1 Ответ

2 голосов
/ 13 февраля 2012

Цвет фона представлений по умолчанию - ноль, то есть прозрачный фон.

Если у вас ничего нет ни в одном из представлений и не задан цвет фона ни для одного из них, фон окна по умолчанию илиустройство покажет.Я не видел его в документации, но я предполагаю, что он черный.

Кроме того, вы определили указатели UIView, но назвали их словом «controller».Это может привести к ошибкам, поскольку UIViewController - это совершенно другой объект.UIViewController содержит UIView и взаимодействует с ним, но он не является UIView и не наследуется от него.

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