UITableViewCell Установить выбранное изображение - PullRequest
16 голосов
/ 14 февраля 2011

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

Старый способ написания этого был cell.selectedImage, но он устарел с 3.0.

Я пробовал множество вещей, но не могу заставить это работать.

Спасибо! Джош

Ответы [ 5 ]

24 голосов
/ 28 марта 2012

Согласно устаревшим методам UITableViewCell doc, вы должны использовать свойствоlightImage imageView в качестве замены selectedImage. Например:

UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil];
cell.imageView.image = [UIImage imageNamed:@"deselected_image.png"];
cell.imageView.highlightedImage = [UIImage imageNamed:@"selected_image.png"];
9 голосов
/ 14 февраля 2011

Вы можете установить выбранный backgroundView, как показано ниже ....

        UIImageView *selBGView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"urimage.png"]];
                cell.selectedBackgroundView = selBGView;
4 голосов
/ 15 октября 2011

Это не сработало, потому что вы можете установить изображение в нормальном состоянии следующим образом:

cell.imageView.image = ///

Попробуйте - у меня это сработало идеально !!

UIImageView *selBGView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"urimage_selected.png"]];
 cell.selectedBackgroundView = selBGView;
[selBGView release];

UIImageView *BGView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"urimage.png"]];
 cell.backgroundView = BGView;
[BGView release];
2 голосов
/ 14 февраля 2011

Попробуйте это ...

    UIImage *bgImage = [UIImage imageNamed:@"icon_call.png"];
    UIImageView *bgImageView = [[UIImageView alloc] initWithImage:bgImage];

    [bgImageView setFrame:CGRectMake(280, 2, 30, 38)];

//Finally give this imageView to the cell

     [cell.contentView addSubview:bgImageView];

Надеюсь, это решит вашу проблему!

1 голос
/ 27 ноября 2011

Используйте это!:

selectionBackground = [UIImage imageNamed:@"background.png"];
cell.selectedBackgroundView =[[UIImageView alloc] init];
((UIImageView *)cell.selectedBackgroundView).image = selectionBackground;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...