detailTextLabel
n'est pas visible (code ci-dessous). Peux-tu me dire pourquoi?
// 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;
}
detailTextLabel
n'est pas affiché pour cells
avec le style UITableViewCellStyleDefault
. init
le UITableViewCell
avec UITableViewCellStyleSubtitle
à la place et vous devriez voir votre detailTextLabel
.
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
Je veux juste mentionner que le libellé de la référence de classe UITableViewCell peut être un peu déroutant sur ce problème:
(Après avoir décrit chaque type de cellule)
"Discussion Dans tous ces styles de cellule, la plus grande des étiquettes de texte est accessible via la propriété textLabel et la plus petite via la propriété detailTextLabel."
Il peut sembler dire que tous les types de cellules incluent un detailTextLabel, mais si vous les lisez attentivement, ce n'est que le type par défaut qui le fait pas avoir un detailTextLabel.
Afin de le résoudre par programme:
let cell = UITableViewCell(style: .subtitle, reuseIdentifier: "identifier")
Je l'ai utilisé et cela a fonctionné pour moi:
// 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!
}