ビューにテーブル ビュー コントローラーを実装しています。Apple ドキュメントの具体的な詳細としてUITableViewCellStyleSubtitle
、表のセルに使用しました。
私が必要としているのは、左側に小さなアバター、太字textLabel
と小さいdetailTextLabel
. textLabel
とはdetailTextLabel
1 行だけではなく、複数行です。
リンクからチュートリアルを試していますが、シミュレーターにはtextLabel
.
これが私のcellForRowAtIndexPath:
方法です:
(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
}
cell.textLabel.text = [newsTitle objectAtIndex:indexPath.row];
cell.textLabel.font = [UIFont boldSystemFontOfSize:18];
cell.textLabel.numberOfLines = ceilf([[newsTitle objectAtIndex:indexPath.row] sizeWithFont:[UIFont boldSystemFontOfSize:18] constrainedToSize:CGSizeMake(300, MAXFLOAT) lineBreakMode:UILineBreakModeWordWrap].height/20);
cell.detailTextLabel.text = [newsDescription objectAtIndex:indexPath.row];
cell.detailTextLabel.font = [UIFont systemFontOfSize:14];
cell.detailTextLabel.numberOfLines = ceilf([[newsTitle objectAtIndex:indexPath.row] sizeWithFont:[UIFont systemFontOfSize:14] constrainedToSize:CGSizeMake(300, MAXFLOAT) lineBreakMode:UILineBreakModeWordWrap].height/20);
return cell;
}
heightForRowAtIndexPath:
メソッド は次のとおりです。
(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *titleString = [newsTitle objectAtIndex:indexPath.row];
NSString *detailString = [newsDescription objectAtIndex:indexPath.row];
CGSize titleSize = [titleString sizeWithFont:[UIFont boldSystemFontOfSize:18] constrainedToSize:CGSizeMake(300, MAXFLOAT) lineBreakMode:UILineBreakModeWordWrap];
CGSize detailSize = [detailString sizeWithFont:[UIFont systemFontOfSize:14] constrainedToSize:CGSizeMake(300, MAXFLOAT) lineBreakMode:UILineBreakModeWordWrap];
return detailSize.height+titleSize.height;
}
注:配列は、newsTitle
の内容を保持します。アバターはまだ含まれていません。誰かがこの問題を解決し、このテーブル ビュー セルに小さなアバターを追加するのを手伝ってくれると大変ありがたいです。textLabel
newsDescription
textDetailLabel