UITableViewCell不会突出显示

时间:2012-02-22 12:51:08

标签: objective-c ios xcode uitableview

出于某种原因,我的UITableViewCell都没有突出显示蓝色。在IB中,我将其设置为突出显示蓝色,并且我没有覆盖IB的代码。

您是否注意到可能导致此问题的任何事情?

enter image description here

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    int showID = [[[singleton.programs objectAtIndex:indexPath.row]objectForKey:@"id"]intValue];
    //creates the url and loads the list of products
    //NSLog(@"showID: %d", showID);
    URLCreator * productsURL = [[URLCreator alloc] initStandard:@"getProgramProductsForList"];
    [productsURL addParam:@"id" stringValue:[NSString stringWithFormat:@"%d", showID]];
    WebManager *productsWM = [[WebManager alloc]init];
    [productsWM load:[productsURL finalURL] withSelector:@selector(parseProducts) object:[NSNumber numberWithInt:showID]];
}

除了`@ property / @ synthesize @之外,我的自定义单元格中没有任何内容,但现在它就是。

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self) {
        // Initialization code
    }
    return self;
}

- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
    [super setSelected:selected animated:animated];

    // Configure the view for the selected state
}

7 个答案:

答案 0 :(得分:4)

你试过这个吗??

[cell setSelectionStyle:UITableViewCellSelectionStyleBlue];

答案 1 :(得分:4)

你的情况很简单,解决它的最佳方法可能是制作一个正常工作的最小例子(带蓝色选择的默认表格视图单元格)并逐步添加(或在二进制搜索步骤中)直到它中断。

如果在添加一些内容后最小代码中断,那么您就可以找到问题所在。如果没有,并且您实际上已经达到了您在项目中使用的相同的东西,请比较并查看您没有注意到的差异。

答案 2 :(得分:1)

这是我过去犯过的一个错误。您的UITableView是否处于编辑模式?如果是,是否在启用编辑期间进行选择?

默认情况下,它未启用。在Interface Builder中,选择UITableView并找到' Editing'表'表视图'在“工具”窗格中。确保在编辑期间进行单一选择'被选中。

同时检查'单一选择'一般情况下已启用。

答案 3 :(得分:1)

可能是一个稍纵即逝的答案,但只是为了涵盖简单的事情,您确保将表格视图单元格分配给自定义的UITableViewCell子类?

Custom Class assignment

答案 4 :(得分:0)

您的细胞亚视图是否占据了整个细胞界限,并且完全不透明?如果是这样,即使已经用蓝色突出显示,也没有效果可见。

答案 5 :(得分:0)

  

不,我删除了所有子视图。我甚至创建了一个新的TableViewController,其中一个按钮可以直接从主屏幕上进行测试。还是不行。有点奇怪。我唯一可以选择工作的是一个全新的项目。 - 詹姆斯昨天

正如你所提到的,它只发生在这个项目中,而不是当你开始一个新项目时,你是否尝试在Xcode中清理项目(Product> Clean)并从模拟器中删除你的应用程序?再次运行。解决了许多奇怪的问题。

答案 6 :(得分:0)

你说在新项目中不会发生这种情况,你是否尝试在你的项目中制作一个新的故事板,看看它是否有任何影响?

.storyboard文件只是一个xml文件,或许,xml文件中有一些不好的东西......尝试不会有什么坏处。