Цвет фона UIView не вступает в силу - PullRequest
1 голос
/ 31 января 2012

Может кто-нибудь сказать мне, почему это не работает правильно?

У меня есть эти строки кода в ячейке табличного представления для метода tableView:didSelectAtIndexRowPath:.

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    [[tableView viewWithTag:199]removeFromSuperview];

    CGSize cellSize = [tableView cellForRowAtIndexPath:indexPath].frame.size;

    UIView *subSelectionView = [[UIView alloc]initWithFrame:CGRectMake(10, 0, (int)cellSize.width - 20, 100)];

    [subSelectionView setBackgroundColor:[UIColor  blueColor]];

    subSelectionView.layer.borderColor = [UIColor grayColor].CGColor;
    subSelectionView.layer.borderWidth = 1;

    subSelectionView.tag = 199;    

    [[tableView cellForRowAtIndexPath:indexPath]addSubview:subSelectionView];
}

Обратите внимание на код:

[subSelectionView setBackgroundColor:[UIColor  blueColor]];

Очевидно, я хочу изменить цвет подпредставления, которое я добавил к UITableViewCell, но почему оно не работает?

Ответы [ 2 ]

2 голосов
/ 31 января 2012

jus перезагрузите таблицу после добавления подпредставления на таблицу

[[tableView cellForRowAtIndexPath:indexPath]addSubview:subSelectionView];

[tableview reloadData];
1 голос
/ 31 января 2012

Добавьте следующую строку в начало метода

[tableView deselectRowAtIndexPath:indexPath animated:NO];

Таким образом, ваш метод будет

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    [tableView deselectRowAtIndexPath:indexPath animated:NO];

    [[tableView viewWithTag:199]removeFromSuperview];
    ....
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...