UITableView 中的奇怪行为 - 一个单元格显示不同

Posted

技术标签:

【中文标题】UITableView 中的奇怪行为 - 一个单元格显示不同【英文标题】:Strange behavoiur in UITableView - one cell displayed differently 【发布时间】:2013-02-24 16:29:12 【问题描述】:

我的应用程序中的一个 UITableView 有问题。我将它设置为每个其他表格,但一个单元格始终具有白色背景而不是 [UIColor clearColor]。 这就是我实现tableView:cellForRowAtIndexPath:的方式:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

    static NSString *cellIdent = @"NewSessionCell";

    UITableViewCell *cell = [self.tableSubjects dequeueReusableCellWithIdentifier:cellIdent];

    if (cell == nil) 
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdent];
    

    [cell setAutoresizesSubviews:NO];
    [cell setBackgroundColor:[UIColor clearColor]];

    // set text color and font
    [cell.textLabel setTextColor:[UIColor whiteColor]];
    [cell.textLabel setFont:[UIFont systemFontOfSize:18.0]];

    // set clear background for selected cell
    UIView *backView = [[UIView alloc] initWithFrame:CGRectZero];
    backView.backgroundColor = [UIColor clearColor];
    [cell setSelectedBackgroundView:backView];

    // set highlight text color to dark gray
    float colValue = 0.2;
    [cell.textLabel setHighlightedTextColor:[UIColor colorWithRed:colValue green:colValue blue:colValue alpha:1]];

    // set title
    [cell.textLabel setText:[(self.subjects)[indexPath.row] caption]];

    return cell;

这与应用程序中的所有其他表格完全相同,但在此特定表格中,一个单元格始终为白色,如下面的屏幕截图所示。

这发生在我的 iPhone 4S 以及模拟器中。 我试图从手机/模拟器中删除应用程序,重新启动 XCode,清理并重建解决方案,没有任何改变。

【问题讨论】:

Xcode 调试器在那个实例中告诉你什么? 对我来说一切都很正常。右键单击并“打印描述...”将其写入日志:<UITableViewCell: 0x10c5c060; frame = (0 0; 320 44); text = 'Air Law'; hidden = YES; autoresize = W; autoresizesSubviews = NO; layer = <CALayer: 0x10c30ea0>> 在变量视图中展开变量时,我得到以下信息:screenshot 【参考方案1】:

我不确定这是如何或为什么会这样,但问题与setBackgroundColor: 方法有关。如果我完全删除它,问题仍然存在,但是将其设置为除[UIColor clearColor] 之外的任何颜色不会更改背景颜色,但单元格显示正确。

【讨论】:

以上是关于UITableView 中的奇怪行为 - 一个单元格显示不同的主要内容,如果未能解决你的问题,请参考以下文章

UITableview 默认单元格中的自定义分隔符显示意外行为

奇怪的行为 UIActionSheet + UITableView:行消失

UISegmentedControl 在 UITableView Header 上的行为很奇怪

UITableView 单元格行为不端,显示没有披露等等

UICollectionView 单元格高度/可滚动内容行为奇怪/不正确

UITableView + NSMutableArray 奇怪的行为