2012-02-13 3 views
0

Когда это действие выполняется он отображает полностью черный вид экрана панелиподвиды в UIView иерархии не отображаются подвидов

- (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]; 

} 

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

+0

Ваш код кажется странным с точки зрения управления памятью, и вы явно не используете ARC. В любом случае, где вы определяете содержимое этих представлений или, по крайней мере, их цвет фона, чтобы вы могли видеть, что происходит? И установка кадров также является обязательным. Фактически, этот код должен создавать «полностью черный с панелью инструментов». –

+0

Я попытался удалить панель инструментов, но после ее удаления отображается полностью черный экран без просмотров – user1120133

+0

Теперь я установил рамку для обоих видов, но все еще покажу черный. Содержимое этих представлений хранится в отдельных UIViewcontrollers – user1120133

ответ

2

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

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

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

+0

В представлениях у меня есть uiimage и uitext и плюс backgroundcolor представления – user1120133