detailTextLabel
は表示されません(以下のコード)。私に理由を教えてくれる?
// 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
スタイルのcells
の場合、UITableViewCellStyleDefault
は表示されません。 init
the UITableViewCell
with UITableViewCellStyleSubtitle
が表示され、detailTextLabel
が表示されます。
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
UITableViewCellクラス参照の文言は、この問題について少し混乱させる可能性があることに言及したいだけです。
(各セルの種類を説明した後)
「Discussionこれらすべてのセルスタイルで、大きいテキストラベルはtextLabelプロパティを介してアクセスされ、小さいテキストはdetailTextLabelプロパティを介してアクセスされます。」
セルタイプのallにはdetailTextLabelが含まれていると言っているように思えるかもしれませんが、注意深く読むとデフォルトのタイプのみになりますnot detailTextLabelがあります。
プログラムで解決するには:
let cell = UITableViewCell(style: .subtitle, reuseIdentifier: "identifier")
私はこれを使用しましたが、それは私のために働きました:
// 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!
}