У меня есть код ниже в моем RootViewController (который является UITableViewController). Этот код выполняется при нажатии кнопки на панели навигации, а затем (в симуляторе) отображается следующий вид. Однако подпредставления (UITextLabels, UIButtons), которые отображаются в представлении, управляемом TripDetailsController, не отображаются. Кроме того, в панели навигации в верхней части экрана кнопка «назад» в исходном виде не отображается, но когда я нажимаю на левой стороне панели навигации, она переходит обратно в исходный вид.
- TripDetailsController.view связан с TripDetailsView (UIView) в Интерфейсном Разработчике
- tdController имеет значение, поэтому выглядит так, как будто оно загружено
- TripDetailsController находится в отдельном файле NIB
- Использование iPhone SDK 2.2.1 (пока не 3.0)
Код:
TripDetailsController *tdController = [[TripDetailsController alloc]
initWithNibName:@"TripDetailsController" bundle:nil];
[self.navigationController pushViewController:tdController animated:YES];
[tdController release];
В классе TripDetailsController я добавил метод viewDidLoad следующим образом:
Код:
- (void)viewDidLoad {
[super viewDidLoad];
self.navigationItem.title = @"Reis Details";
NSLog(@"Subviews: %@", self.view.subviews);
UILabel *l = [self.view.subviews objectAtIndex:0];
NSLog(@"Subview 0 bounds: %@", l.bounds);
}
Приведенные ниже сообщения журнала показывают, что подпредставления существуют, но границы также не установлены:
код:
6/18/09 Jun 18, 2009 10:06:00 PM ReisAdvies[11226] Subviews: (
<UILabel: 0x56f250>,
<UILabel: 0x56f5a0>,
<UILabel: 0x56f6b0>,
<UILabel: 0x56f780>
)
6/18/09 Jun 18, 2009 10:06:00 PM ReisAdvies[11226] Subview 0 bounds: (null)
В Интерфейсном Разработчике на вкладке «Размер метки» отображаются значения для X / Y / W / H. Такое ощущение, что мне нужно вызвать его для выполнения некоторых действий с макетом, но вызов layoutSubviews в viewDidLoad () не помогает.
Любые идеи, в чем может быть проблема здесь?