Voici comment c'est fait, je crois de la bonne manière. Cela fonctionne sur Ipad et Iphone comme je l'ai testé. Nous devons créer nos propres customCells en classant une uitableviewcell:
commencez dans interfaceBuilder ... créez un nouveau UIViewcontroller, appelez-le customCell (bénévole pour un xib pendant que vous y êtes) Assurez-vous que customCell est une sous-classe de uitableviewcell
effacez toutes les vues maintenant et créez une vue en lui donnant la taille d'une cellule individuelle. rendre cette sous-classe de vue customcell. créez maintenant deux autres vues (dupliquez la première).
Accédez à votre inspecteur de connexions et trouvez 2 IBOutlets que vous pouvez maintenant vous connecter à ces vues.
-backgroundView -SelectedBackground
connectez-les aux deux dernières vues que vous venez de dupliquer et ne vous inquiétez pas pour elles. la toute première vue qui étend customCell, mettez votre étiquette et uitextfield à l'intérieur. est entré dans customCell.h et connectez votre étiquette et votre champ de texte. Réglez la hauteur de cette vue pour dire 75 (hauteur de chaque cellule) tout est fait.
Dans votre fichier customCell.m, assurez-vous que le constructeur ressemble à ceci:
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
NSArray *nibArray = [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil];
self = [nibArray objectAtIndex:0];
}
return self;
}
Créez maintenant un UITableViewcontroller et dans cette méthode, utilisez la classe customCell comme ceci:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
customCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
NSArray *topLevelsObjects = [[NSBundle mainBundle] loadNibNamed:@"NewUserCustomCell" owner:nil options:nil];
for (id currentObject in topLevelsObjects){
if ([currentObject isKindOfClass:[UITableViewCell class]]){
cell = (customCell *) currentObject;
break;
}
}
NSUInteger row = [indexPath row];
switch (row) {
case 0:
{
cell.titleLabel.text = @"First Name";
break;
}
}
return cell;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
return 75.0;
}