我有一个UITableView和cellForRowAtIndexPath方法我正在更改单元格的一些属性(字体,大小等)现在,除了更改textLabel的颜色外,下面列出的所有赋值都可以正常工作。我无法弄清楚为什么只有特定的颜色属性不会改变。我看到了我能想到的任何地方,弄清楚为什么它不起作用而且我被卡住了。有任何想法吗?
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *kLocationAttributeCellID = @"bAttributeCellID";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kLocationAttributeCellID];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue2 reuseIdentifier:kLocationAttributeCellID] autorelease];
cell.selectionStyle = UITableViewCellSelectionStyleBlue;
cell.detailTextLabel.font = [UIFont fontWithName:@"Helvetica" size:14.0];
cell.detailTextLabel.numberOfLines = 0;
cell.detailTextLabel.lineBreakMode = UILineBreakModeWordWrap;
cell.userInteractionEnabled = NO;
cell.textLabel.font = [UIFont fontWithName:@"Courier" size:18.0];
cell.textLabel.textColor = [UIColor redColor]; // this never takes effect...
}
cell.textLabel.text = @"Test Label";
cell.detailTextLabel.text = @"Test Details";
return cell;
}
答案 0 :(得分:10)
正因为如此:
cell.userInteractionEnabled = NO;
如果您不希望您的单元格可供选择,请尝试使用此选项:
cell.selectionStyle = UITableViewCellSelectionStyleNone;