2010-10-10 4 views
0

Je possède ce code pour charger un NSView d'un NIB et l'ajouter à une autre NSView:NSView Chargement de NIB ne fonctionnera pas

// INIT 
- (void)awakeFromNib { 
    // Load nib 
    DNListViewController *listViewController = [[DNListViewController alloc] initWithNibName:@"ListView" bundle:nil]; 

    // Add view to window 
    [listViewController.view setFrame:detailView.frame]; 
    [detailView addSubview:listViewController.view]; 

    // MEM 
    [listViewController release]; 
} 

Toutes les sorties sont connectées à droite, mais rien ne montre. Je ne comprends pas pourquoi! Est-ce que quelqu'un peut m'aider? Merci.


Il s'agit de NSViews, pas d'UIViews!

Répondre

2

Oh, je l'ai déjà corrigé. Peu importe, je laisserai rester ici pour les gens du futur.

[listViewController.view setFrame:detailView.frame]; 

doit être

[listViewController.view setFrame:detailView.bounds]; 
+1

Plus précisément, les limites d'une vue sont dans son propre espace de coordonnées, alors que son cadre est dans l'espace de coordonnées de son point de vue des parents. Vous devez donc définir l'image de la liste dans l'espace de coordonnées de la vue détaillée (en obtenant les limites de la vue détaillée), et non l'espace de coordonnées de la vue parent de la vue détaillée (l'image de détail). –

Questions connexes