Изображение UIButton в UITableViewCell продолжает переопределяться из файла XIB - PullRequest
1 голос
/ 22 сентября 2011

У нас есть Masterview, где отображаются данные проекта. Каждая строка создается из пользовательского UITableViewCell с файлом XIB. На каждой ячейке есть кнопка. Мы используем кнопку, чтобы взорвать CQ. взорвать список проектов (на основе иерархии). При этом изображение на кнопке должно быть изменено. Это прекрасно работает, когда нажимается кнопка (переменная: show для всех проектов включается / выключается в зависимости от ситуации cq. Explode, только проекты выбираются там, где show = true), и правильное изображение отображается в каждой строке.

Проблема: но когда нажата одна строка или, скажем, выбрано, изображение из файла XIB перезагружается.

В RootViewController:

- (void)tableView:(UITableView *)aTableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    //  Deselect the currently selected row according to the HIG
    [tableView deselectRowAtIndexPath:indexPath animated:NO];
    // Set the detail item in the detail view controller.
    ProjEntity *selectedObject = [[self fetchedResultsController] objectAtIndexPath:indexPath];
    [self selectProjEntity:selectedObject];

    ProjectTableViewCell *selectedCell = (ProjectTableViewCell *)[[self tableView] cellForRowAtIndexPath:indexPath];
    [selectedCell setCollapseImage:selectedObject];

    [tableView reloadData];
    [tableView selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionNone];

В ячейке: ProjectTableViewCell:

- (void) setCollapseImage:(ProjEntity *) projRow
{
    UIImage* btImage;

    if ([projRow.explode intValue] == 0)
    {
        if ([projRow.projLevel intValue] == 1)
        {
            btImage = [UIImage imageNamed:@"add-big.png"]; 
        }
        else
        {
            btImage = [UIImage imageNamed:@"plus.gif"];
        }
    }
    else
    {    
        if ([projRow.projLevel intValue] == 1)
        {
            btImage = [UIImage imageNamed:@"Minus_groenGroot.png"]; 
        }
        else
        {
            btImage = [UIImage imageNamed:@"min.gif"];
        }
     }

    self.collapseButton.imageView.image = btImage;
}

То есть, только когда выбрана строка, изображение кнопки не обновляется.

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