UITableViewCell,自定义内容不可见

时间:2013-01-17 06:49:05

标签: ios uitableview invisible

当我向UITableViewCell添加自定义控件时(通过将UILabel拖到故事板中的表格单元格上),内容在运行时是不可见的。当我点击表格行(选择它)时,内容会显示,但会显示白色。

项目设置:(摘要:使用UITableView和几行代码创建超级最小的故事板项目来创建内容):

新项目,单一视图应用程序,Xcode 4.5.2,使用故事板。这创建了一个针对iOS 6的项目。

将表视图控制器拖到storyboard上,它创建一个视图,它包含的UITableView以及该表中的默认UITableViewCell。

将我的表视图控制器设置为初始场景。

为UITableViewCell设置重用标识符字符串(在情节提要编辑器中)。

创建一个新文件,UITableView的子类,填写一些最小股票数据,以获得几行填充“XX行”数据文本。

运行项目。数据显示为预期,几行数据显示“行0”,“行1”等。没有问题

现在,我将一个标签拖到故事板上的表格单元格中。我没有改变任何属性。我留下标签文字只是用黑色字母说“标签”。

见图片:http://www.codexlumen.com/issue/storyboard.png

再次运行项目。

我的期望:我的表格行现在在行中出现“标签”,黑色文字。

我实际看到的内容:与以前完全相同。完全没有出现“标签”文本。

现在,这是有趣的部分:

仍然在运行,我点击一个表格行来选择它。现在,行以蓝色亮起,“Label”在我放置标签控件的位置显示白色

见图片:http://www.codexlumen.com/issue/hilight.png

所以UILabel就在那里,它只是没有被非高亮的行所吸引......

不知道为什么。

其他一些评论:

  • 我没有使用任何类型的自定义表格单元子类。
  • 我没有在项目中添加任何内容或采取上面未提及的任何步骤。
  • 除了设置重用标识符字符串并将UILabel拖到单元格上之外,我没有更改故事板的UITableView或UITableViewCell对象的属性
  • 我尝试在我的4s和模拟器上运行(模拟器设置为各种设备/操作系统配置)
  • 我尝试过更改标签属性(黑色背景,绿色文字等)。没有效果。无论我设置什么属性,视觉行为都是相同的(如果我放大文字,“标签”会更大)

这是100%的故事板。我在代码中没有创建UI对象。代码中对UI的唯一引用是填充表格单元格的代码,如下所示:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"MyCell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

    cell.textLabel.text = [NSString stringWithFormat:@"Line %i", indexPath.row];

    return cell;
}

1 个答案:

答案 0 :(得分:2)

我看到了你的问题。您在使用自定义单元格时访问标准UITableViewCell的属性(即cell.textLabel)。只需杀死第3行即可看出差异。我建议您为所需的每个标签创建自己的插座,而不是使用标准插座。