2011-09-26 99 views
8

我有一個UITableView和cellForRowAtIndexPath方法我正在改變單元格的一些屬性(字體,大小等)現在所有的任務下面列出的工作很好,除了改變顏色textLabel。我無法弄清楚爲什麼只有那個特定的顏色屬性不會改變。我看到了無處不在,我可以想出它爲什麼它不工作,我卡住了。有任何想法嗎?UITableViewCell 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; 
} 

回答

9

這是因爲這一點:

cell.userInteractionEnabled = NO; 

如果你不想讓你的細胞可以進行選擇,請嘗試使用這個:

cell.selectionStyle = UITableViewCellSelectionStyleNone; 
+1

哇哦......什麼廢話。我想知道爲什麼這會對顏色產生影響。我一直試圖解決這個問題,現在只有3天。謝謝!!! – gplocke

+0

非常感謝你!浪費數小時思考這個問題...... – ewiinnnnn