UITableViewCell textLabel цвет не меняется - PullRequest
8 голосов
/ 26 сентября 2011

У меня есть 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;
}

1 Ответ

10 голосов
/ 26 сентября 2011

Это из-за этого:

cell.userInteractionEnabled = NO;

Если вы не хотите, чтобы ваши ячейки можно было выбирать, попробуйте использовать это вместо:

cell.selectionStyle = UITableViewCellSelectionStyleNone;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...