2011-09-26 34 views
8

Tôi đã có UITableView và phương thức cellForRowAtIndexPath Tôi đang thay đổi một số thuộc tính của ô (phông chữ, kích thước, v.v.) Bây giờ tất cả các nhiệm vụ được liệt kê bên dưới chỉ hoạt động ngoại trừ việc thay đổi màu của textLabel. Tôi không thể tìm ra lý do tại sao chỉ có thuộc tính màu cụ thể đó sẽ không thay đổi. Tôi đã xem xét ở khắp mọi nơi tôi có thể nghĩ ra để tìm ra lý do tại sao nó không hoạt động và tôi bị mắc kẹt. Bất kỳ ý tưởng?Văn bản UITableViewCellMàu không thay đổi

- (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; 
} 

Trả lời

9

Đó là vì điều này:

cell.userInteractionEnabled = NO; 

Nếu bạn không muốn các tế bào của bạn sẽ được lựa chọn, hãy thử sử dụng này để thay thế:

cell.selectionStyle = UITableViewCellSelectionStyleNone; 
+1

Oh wow ... những gì mà tào lao . Tôi tự hỏi tại sao điều đó lại ảnh hưởng đến màu sắc. Tôi đã cố gắng giải quyết điều này trong 3 ngày nay. Cảm ơn!!! – gplocke

+0

Cảm ơn bạn rất nhiều !! Lãng phí giờ suy nghĩ về điều này ... – ewiinnnnn

Các vấn đề liên quan