J'ai le code ci-dessous dans mon RootViewController (qui est un UITableViewController). Ce code est exécuté lorsque l'on clique sur le bouton dans la barre de navigation, puis (dans le simulateur) la vue suivante est affichée. Toutefois, les sous-vues (UITextLabels, UIButtons) qui sont dessinées dans la vue gérée par TripDetailsController ne sont pas affichées. De plus, dans la barre de navigation en haut de l'écran, le bouton «Précédent» de la vue d'origine n'est pas affiché, mais lorsque je clique sur le côté gauche de la barre de navigation, elle revient à la vue d'origine.Les sous-vues ne sont pas chargées à partir de NIB avec initWithNibName
- TripDetailsController.view est liée à la TripDetailsView (UIView) dans Interface Builder
- TDCONTROLLER a une valeur, il semble que si elle est chargée
- TripDetailsController est dans un fichier NIB séparé
- Utilisation de l'iPhone SDK 2.2.1 (donc pas encore 3.0)
code:
TripDetailsController *tdController = [[TripDetailsController alloc]
initWithNibName:@"TripDetailsController" bundle:nil];
[self.navigationController pushViewController:tdController animated:YES];
[tdController release];
Dans la classe TripDetailsController j'ai ajouté la méthode viewDidLoad comme ceci:
code:
- (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);
}
Le journal des messages ne ci-dessous montrent que les sous-vues sont là, mais aussi que les limites ne sont pas définies:
code:
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)
Dans Interface Builder l'onglet "taille des labels" ne présentent des valeurs pour X/Y/W/H. On dirait que je dois le déclencher pour faire des activités de mise en page, mais appeler layoutSubviews dans viewDidLoad() n'aide pas. Des idées ce qui pourrait être le problème ici?
c'est le chemin, mais il aurait dû être fait automatiquement pour vous par xcode si vous le laissez générer le xib pour vous – slf