Xcode tableview 字幕
Posted
技术标签:
【中文标题】Xcode tableview 字幕【英文标题】:Xcode tableview subtitle 【发布时间】:2012-05-17 09:24:10 【问题描述】:我一直在寻找一段时间试图寻求帮助,但没有运气:(
我想在 TableViewCells 中设置字幕。每个单元格中的字幕不能相同。我一直在写一些代码:
- (void)viewDidLoad
[super viewDidLoad];
tableData = [[NSArray alloc] initWithObjects:@"cell 1", @"cell 2", nil];
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
return [tableData count];
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
UITableViewCell *cell = nil;
cell = [tableView dequeueReusableCellWithIdentifier:@"MyCell"];
if (cell == nil)
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"MyCell"];
cell.textLabel.text = [tableData objectAtIndex:indexPath.row];
cell.detailTextLabel.text = @"Subtitle 1", @"Subtitle 2", nil;
return cell;
问题出在cell.detailTextLabel.text = @"Subtitle 1", @"Subtitle 2", nil;
有人知道如何在每个单元格中设置不同的字幕吗?
祝你好运! :)
【问题讨论】:
【参考方案1】:与设置单元格标题的方式完全相同。 你可以让另一个数组保存字幕并像这样获取它们:
- (void)viewDidLoad
[super viewDidLoad];
tableData = [[NSArray alloc] initWithObjects:@"cell 1", @"cell 2", nil];
// Assuming that you have declared another property named 'tableSubtitles'
tableSubtitles = [[NSArray alloc] initWithObjects:@"sub1", @"sub2", nil];
然后在你的tableView:cellForRowAtIndexPath:
方法中:
cell.textLabel.text = [tableData objectAtIndex:indexPath.row];
cell.detailTextLabel.text = [tableSubtitles objectAtIndex:indexPath.row];
【讨论】:
好的,谢谢 ;) 你知道如何编辑字幕的最大行数吗?这是因为我的字幕很长,而且不能在一行上。所以如果你知道如何编码,那么字幕会超过 2/3 行吗?祝你好运 您可以使用detailTextLabel
对象的numberOfLines
属性,但我没有测试它,所以我不知道有什么影响。您可以查看that post 并自己尝试。
成功了! :) 但是现在文本在单元格之外:( 你资助给我的网站说我需要改变单元格的高度......但我不知道该怎么做:( 你知道吗?或你能帮我找出来吗?
你可以像这样改变你的单元格高度:(注意这是delegate
方法)- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath return 88.0; //Or whatever height you need
以上是关于Xcode tableview 字幕的主要内容,如果未能解决你的问题,请参考以下文章
如果集合视图已经存在以执行任务,为啥 Xcode 提供 Tableview [重复]