Je suis en mesure de design personnalisé UITableViewCells et charger un peu fine à l'aide de la technique décrite dans le fil trouvé à http://forums.macrumors.com/showthread.php?t=545061. Cependant, l'utilisation de cette méthode ne vous permet plus d'init de la cellule avec un reuseIdentifier qui signifie que vous avez à créer de nouvelles instances de chaque cellule à chaque appel. Quelqu'un a trouvé un bon moyen de toujours le cache de certains types de cellules pour les réutilise, mais encore être en mesure de les concevoir dans Interface Builder?
Réponses
Trop de publicités?En fait, depuis que vous êtes à la construction de la cellule dans Interface Builder, il suffit de définir la réutilisation de l'identificateur:
Ou si vous exécutez Xcode 4, vérifier les Attributs de l'inspecteur de l'onglet:
(Edit: Après votre XIB est généré par XCode, il contient un vide UIView, mais nous avons besoin d'un UITableViewCell; donc, vous devez supprimer manuellement le UIView et insérer une Vue de la Table de la Cellule. Bien sûr, l'IB ne montrent aucune UITableViewCell paramètres pour une UIView.)
Je ne me souviens pas où j'ai trouvé ce code à l'origine, mais c'est très bien fonctionné pour moi jusqu'à présent.
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"CustomTableCell";
static NSString *CellNib = @"CustomTableCellView";
UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:CellNib owner:self options:nil];
cell = (UITableViewCell *)[nib objectAtIndex:0];
}
// perform additional custom work...
return cell;
}
Exemple d'Interface Builder installation...
Regarde la réponse que j'ai donné à cette question:
Il est non seulement possible de concevoir un UITableViewCell de l'IB, il est souhaitable parce que sinon tout le manuel de câblage et de placement de plusieurs éléments est très fastidieux. Performaance est très bien aussi longtemps que vous êtes prudent de prendre tous les éléments opaques lorsque cela est possible. Le reuseID est définie dans l'IB pour les propriétés de la UITableViewCell, puis vous utilisez la correspondance de la réutilisation de l'ID dans le code lors de la tentative de résorption de l'.
J'ai aussi entendu parler de certains des présentateurs lors de la WWDC de l'année dernière que vous ne devriez pas faire la vue de la table cellules de l'IB, mais c'est une charge de lits superposés.