UITableViewCell textlabel 内容不显示任何内容
Posted
技术标签:
【中文标题】UITableViewCell textlabel 内容不显示任何内容【英文标题】:UITableViewCell textlabel content not displaying anything 【发布时间】:2014-02-10 18:14:10 【问题描述】:我有一个 UITableView,我正在加载数据。标题显示正常,但 cell.textlabel.text
没有显示任何内容。 (注意点击时颜色不是白色,它也不会显示)但是我可以在 AlertView 中获取cell.textlabel.text
的值。
有什么帮助吗??
代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
static NSString *CellIdentifier = @"cellT";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
cell.textLabel.text = [[theTArray objectAtIndex:indexPath.section]objectAtIndex:0];
// Configure the cell...
cell.textLabel.textColor = [UIColor blackColor];
return cell;
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
return [[theTArray objectAtIndex:section]objectAtIndex:1];
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
[tableView deselectRowAtIndexPath:indexPath animated:YES];
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
NSString *message = [NSString stringWithFormat:@"%@", cell.textLabel.text];
NSString *title = [[theTArray objectAtIndex:indexPath.section]objectAtIndex:1];
UIAlertView *theAlert = [[UIAlertView alloc] initWithTitle:title message:message delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[tableView reloadData];
[theAlert show];
图片: http://imgur.com/a/lcwyf
【问题讨论】:
【参考方案1】:确保你的 cell.textLabel 有宽度和高度。
尝试调用
[cell.textLabel sizeToFit];
设置文字后。
【讨论】:
【参考方案2】:cell.textLabel.text = [[theTArray objectAtIndex:indexPath.section]objectAtIndex:0];
您的索引有问题。您的意思是 indexPath.row 而不是零索引吗? 在当前实现下,部分中的所有单元格都将具有相同的标题。
【讨论】:
不,我用的是多维数组 好的,在分配给cell.textLabel.text
之前记录文本。你会得到什么?
2014-02-10 19:37:28:816 RGZH[63632:1803] -[TermineViewController tableView:cellForRowAtIndexPath:] [第 88 行] 文本:Maturitätsarbeit,Meldung ausstellungswürdiger Maturitätsarbeiten...(确切地说它应该是什么)
你能说明你是怎么记录的吗,也许你应该在设置文本之前设置颜色?
看看我的回答(是的,我知道我很笨)【参考方案3】:
确保您返回正确的numberOfRowsInSection
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
return [self.theTArray count];
在cellForRowAtIndexPath
NSString *messageAtIndexPath = [[theTArray objectAtIndex:[indexPath row]]objectAtIndex:0];
确保您的委托和数据源都已设置。
【讨论】:
两个都试过了,也没用。注意:部分标题显示正常。所以datasource应该没问题吧??【参考方案4】:我在数组中的每个文本的第一个字符处都有一个换行符。所以删除它,现在一切正常。
【讨论】:
以上是关于UITableViewCell textlabel 内容不显示任何内容的主要内容,如果未能解决你的问题,请参考以下文章
在 UITableViewCell 中设置 textLabel 的宽度
iPhone UITableViewCell:重新定位 textLabel
为啥 UITableViewCell textLabel 属性是可选的?
如何防止 UITableViewCell 中的缩进 contentView 而不是 textLabel