Изображение UIImageView не изменяется по коду - PullRequest
1 голос
/ 03 февраля 2011

Я знаю, что моя проблема глупая, но я не могу ее исправить, и я не нашел ответа.У меня есть IBoutlet UIImageView в пользовательском UITableViewCell.Я установил его UIImage в IB, и я хочу изменить его по коду при приклеивании пользовательской ячейки.Мой код следующий.Но каким-то образом изображение не меняется.Это метод из моего пользовательского UItableViewCell.

-(void)setExpanded:(BOOL)expand
{
    if(expand)
    {
        [self.expandedImageView setImage:[UIImage imageNamed:@"bt_up.png"]];
        expanded = YES;
        //self.infoLabel.hidden = NO;
        //[self setNeedsDisplay];
    }
    else
    {
        [self.expandedImageView setImage:[UIImage imageNamed:@"bt_down.png"]];
        expanded = NO;
        //self.infoLabel.hidden = YES;
        //[self setNeedsDisplay];
    }

}

Я пытался поиграть с «SetNeedDisplay».Я также пытался изменить UIimage за пределами CustomCell, но он не работает.

Любая помощь будет очень ценится, потому что я нахожусь на ней так много времени;)

привет,

Ответы [ 3 ]

0 голосов
/ 03 февраля 2011

Если ваше изображение и свойства действительно действительны, тогда я бы предложил проверить, какой поток вызывает setExpanded:.Какао заявляет, что объекты пользовательского интерфейса должны изменяться только потоком пользовательского интерфейса, поэтому, если вы вызываете его из какого-то таймера или потока BG, возможно, в этом проблема.

0 голосов
/ 03 февраля 2011

Попробуйте напечатать его (пользовательский UITableViewCell) подпредставления и проверьте, существует ли экземпляр изображения в списке или, если существует, попробуйте изменить изображение для этого экземпляра.

0 голосов
/ 03 февраля 2011

Возможны 2 причины:

  1. Ваш self.expandedImageView равен нулю
  2. У вас нет изображений с именами bt_up.png, bt_down.png
...