出于某种原因,我的UITableViewCell
都没有突出显示蓝色。在IB中,我将其设置为突出显示蓝色,并且我没有覆盖IB的代码。
您是否注意到可能导致此问题的任何事情?
- (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
}
答案 0 :(得分:4)
你试过这个吗??
[cell setSelectionStyle:UITableViewCellSelectionStyleBlue];
答案 1 :(得分:4)
你的情况很简单,解决它的最佳方法可能是制作一个正常工作的最小例子(带蓝色选择的默认表格视图单元格)并逐步添加(或在二进制搜索步骤中)直到它中断。
如果在添加一些内容后最小代码中断,那么您就可以找到问题所在。如果没有,并且您实际上已经达到了您在项目中使用的相同的东西,请比较并查看您没有注意到的差异。
答案 2 :(得分:1)
这是我过去犯过的一个错误。您的UITableView是否处于编辑模式?如果是,是否在启用编辑期间进行选择?
默认情况下,它未启用。在Interface Builder中,选择UITableView并找到' Editing'表'表视图'在“工具”窗格中。确保在编辑期间进行单一选择'被选中。
同时检查'单一选择'一般情况下已启用。
答案 3 :(得分:1)
可能是一个稍纵即逝的答案,但只是为了涵盖简单的事情,您确保将表格视图单元格分配给自定义的UITableViewCell子类?
答案 4 :(得分:0)
您的细胞亚视图是否占据了整个细胞界限,并且完全不透明?如果是这样,即使已经用蓝色突出显示,也没有效果可见。
答案 5 :(得分:0)
不,我删除了所有子视图。我甚至创建了一个新的TableViewController,其中一个按钮可以直接从主屏幕上进行测试。还是不行。有点奇怪。我唯一可以选择工作的是一个全新的项目。 - 詹姆斯昨天
正如你所提到的,它只发生在这个项目中,而不是当你开始一个新项目时,你是否尝试在Xcode中清理项目(Product> Clean)并从模拟器中删除你的应用程序?再次运行。解决了许多奇怪的问题。
答案 6 :(得分:0)
你说在新项目中不会发生这种情况,你是否尝试在你的项目中制作一个新的故事板,看看它是否有任何影响?
.storyboard文件只是一个xml文件,或许,xml文件中有一些不好的东西......尝试不会有什么坏处。