Así es como se hace, creo que la forma correcta. Funciona en Ipad y Iphone cuando lo probé. Tenemos que crear nuestras propias CustomCells clasificando una uitableviewcell:
comience en interfaceBuilder ... cree un nuevo controlador UIView, llámelo customCell (voluntario para un xib mientras esté allí) Asegúrese de que customCell sea una subclase de uitableviewcell
borre todas las vistas ahora y cree una vista para que sea del tamaño de una celda individual. haga que esa vista sea de la subclase customcell. ahora cree otras dos vistas (duplique la primera).
Vaya a su inspector de conexiones y encuentre 2 IBOutlets que puede conectar a estas vistas ahora.
-backgroundView -SelectedBackground
conéctelos a las dos últimas vistas que acaba de duplicar y no se preocupe por ellas. la primera vista que extiende customCell, coloca tu etiqueta y uitextfield dentro de ella. entró en customCell.h y conectó su etiqueta y campo de texto. Establezca la altura de esta vista para decir 75 (altura de cada celda) todo listo.
En su archivo customCell.m, asegúrese de que el constructor se vea así:
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
// Initialization code
NSArray *nibArray = [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil];
self = [nibArray objectAtIndex:0];
}
return self;
}
Ahora cree un UITableViewcontroller y en este método use la clase customCell de esta manera:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
// lets use our customCell which has a label and textfield already installed for us
customCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
//cell = [[[customCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
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"; //label we made (uitextfield also available now)
break;
}
}
return cell;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
return 75.0;
}