Aqui está como é feito, eu acredito da maneira correta. Funciona no Ipad e no Iphone enquanto eu o testei. Temos que criar nossas próprias customCells classificando uma célula uitableview:
comece no interfaceBuilder ... crie um novo UIViewcontroller chamado customCell (voluntário para um xib enquanto você estiver lá) Verifique se customCell é uma subclasse de uitableviewcell
apague todas as visualizações agora e crie uma visualização para torná-la do tamanho de uma célula individual. faça com que essa subclasse de visualização seja personalizada. agora crie duas outras visualizações (duplique a primeira).
Vá para o inspetor de conexões e encontre 2 IBOutlets que você pode conectar a essas visualizações agora.
-backgroundView -SelectedBackground
conecte-os às duas últimas visualizações que você acabou de duplicar e não se preocupe com elas. a primeira visualização que estende o customCell, coloque seu rótulo e o campo de texto dentro dele. entrou no customCell.he conecte seu rótulo e campo de texto. Defina a altura dessa visualização como 75 (altura de cada célula) concluída.
No seu arquivo customCell.m, verifique se o construtor se parece com isso:
- (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;
}
Agora crie um UITableViewcontroller e, neste método, use a classe customCell como esta:
- (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;
}