2011-12-21 6 views
0

Je charge un fichier xib depuis mon viewcontroller qui a une vue de table.Supprimer le fichier xib de la vue

[[NSBundle mainBundle] loadNibNamed:@"NewView" owner:self options:nil]) 
    [self.newView setFrame:CGRectMake(0, 0, 320, 480)]; 
    [[UIApplication sharedApplication].keyWindow addSubview:self.newView]; 

La vue est correctement chargée. Cliquez sur un bouton dans le nouvel affichage. Je souhaite supprimer cette vue.

[self.newView removeFromSuperview]; 

La nouvelle version est supprimée. Mais la table vue derrière ne montre rien. Cela montre juste un fond transparent. Impossible de trouver un moyen de le trier. Aide requise

+0

Pourquoi utilisez-vous [[UIApplication sharedApplication] .keyWindow comme vue parent? Avez-vous le délégué et le dataSource de tableView corrects? Avez-vous essayé d'actualiser tableView en appelant [tableView reloadData] après avoir supprimé newView du parent? –

+0

Je suis nouveau dans le développement de l'objectif c et de l'iphone. Il semble que je fais les choses dans le mauvais sens. J'ai utilisé [UIApplication sharedApplication] .keyWindow tout au long de mon projet pour charger les fichiers xib. Je ne comprends pas la nécessité de recharger les données de la vue de la table, peut-être qu'il me manque quelque chose. –

+0

Alors, êtes-vous sûr du délégué de view table correct et de dataSource? –

Répondre

0

Ce code a fonctionné.

[[NSBundle mainBundle] loadNibNamed:@"NewView" owner:self options:nil]; 
[self.newView setFrame:CGRectMake(0, 0, 320, 480)]; 
[self.view addSubview:newView]; 

Et j'ai enlevé la vue par

[self.newView removeFromSuperview]; 
Questions connexes