objective-c uitableview cell detailtextlabel

objective c - ¿Por qué detailTextLabel no está visible?



objective-c uitableview (4)

Lo he usado y funcionó para mí:

// programming mark ----- ----- ---- ----- ----- ---- ----- ----- ---- func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let CellIdentifier: String = "CellIdentifier" var cell = tableView.dequeueReusableCellWithIdentifier(CellIdentifier) as? UITableViewCell if cell == nil { cell = UITableViewCell(style: UITableViewCellStyle.Value1, reuseIdentifier: CellIdentifier) } cell!.textLabel!.text = "Title" cell!.detailTextLabel!.text = "Value" return cell! }

detailTextLabel no está visible (código a continuación). ¿Puedes decirme porque?

// Customize the appearance of table view cells. - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"Cell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease]; } // Configure the cell... NSString *cellValue = [myListArray objectAtIndex:indexPath.row]; cell.textLabel.text = cellValue; cell.detailTextLabel.text = @"Hello "; // This is not visible cell.image = [myListArrayImages objectAtIndex:indexPath.row]; return cell; }


O si está utilizando Interface Builder, cambie la propiedad de la celda de Style a Subtitle . :)


Solo quiero mencionar que la fraseología en la referencia de clase UITableViewCell puede ser un poco confusa sobre este tema:

(Después de describir cada tipo de celda)

" Discusión En todos estos estilos de celda, se accede a la mayor de las etiquetas de texto a través de la propiedad textLabel y la más pequeña a través de la propiedad detailTextLabel".

Puede parecer que está diciendo que todos los tipos de celda incluyen un detailTextLabel, pero si los lee detenidamente es solo el tipo predeterminado que no tiene un detailTextLabel.


detailTextLabel no se muestra para las cells con el estilo UITableViewCellStyleDefault . UITableViewCell con UITableViewCellStyleSubtitle en UITableViewCellStyleSubtitle lugar y debería ver su detailTextLabel .

cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];