2010-11-06 4 views
1

Hé les gars, J'ai un problème intéressant, où je veux avoir une vue de table personnalisée avec des coins arrondis et un arrière-plan spécifique, etc ... Cela fonctionne bien, mais tout est mis en place dans cellForRowAtIndexPath. Cela signifie que si ma vue de table est vide, cette méthode n'est pas appelée, et je vois apparaître cette vue de table vilaine et vide.Personnaliser Vide TableView

Je ne peux pas faire les modifications dans viewDidAppear, car la tableView est déclarée dans ses méthodes telles que celle mentionnée plus haut. Des idées?

Merci d'avance!

Répondre

1

Il semble que vous ayez juste besoin de trouver le bon endroit pour initialiser votre vue de table, et ce n'est pas dans cellForRowAtIndexPath, pour les raisons que vous avez mentionnées. En supposant que vous avez créé votre UITableView dans un fichier xib, vous pouvez créer une sortie dans votre code source (voir ci-dessous), et dans InterfaceBuilder soit créer une instance de votre contrôleur dans le fichier xib, soit utiliser une instance existante (comme le propriétaire du fichier , peut être). Dans IB, connectez cette prise à la table avec contrôle-cliquer-glisser. Lorsque le xib est chargé, UIKit remplira le pointeur vers votre vue de table, que vous pouvez ensuite écraser pendant viewDidLoad. Cela résout-il votre problème?

@interface MyController : UIViewController<UITableViewDelegate,UITableViewDataSource> 
{ 
    UITableView * myTable; 
} 
@property (nonatomic,assign) IBOutlet UITableView * myTableView; 
@end 

...

@implementation MyController 
@synthesize myTableView; 
-(void)viewDidLoad 
{ 
    // do some crazy initialization with self.myTableView! 
} 
@end 
+0

homme Merci fonctionne très bien! – elliottbolzan

Questions connexes