изображение uibutton не изменяется при выделении ячейки - PullRequest
2 голосов
/ 16 марта 2011

У меня есть пользовательская кнопка UI в каждой ячейке моего табличного представления.Эта UIbutton работает как функциональность Add To Favs кнопки STAR, используемой в Gmail, и т. Д.Означает всякий раз, когда я нажимаю на эту кнопку, соответствующий элемент добавляется в список избранного, а изображение кнопки меняется на изображение светящейся звезды.При повторном нажатии этот элемент удаляется из списка избранного, а в качестве его изображения используется пустая звезда.

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

обратите внимание, что эта проблема решается, если для стиля разделителя таблицы установлено значение NONE.Но мне нужен стиль разделителя.

Помогите, плз, если можете.

1 Ответ

2 голосов
/ 16 марта 2011

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

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 

    customBtn = [UIButton buttonWithType:UIButtonTypeCustom]; 
    customBtn.frame = CGRectMake(292, 8.0, 30, 28); 

    UIImage *likeSelectedImage = [UIImage imageNamed:@"star off.png"];

   [customBtn setBackgroundImage:likeSelectedImage forState:UIControlStateNormal];

    [customBtn addTarget:self action:@selector(addToFavouriteClicked1:) forControlEvents:UIControlEventTouchUpInside]; 
    customBtn.tag = indexPath.row; 
    [cell.contentView addSubview:customBtn];
}


-(void) addToFavouriteClicked1 : (id) sender
{
    UIImage *likeSelectedImg = [UIImage imageNamed:@"star on.png"];

    UIImage *likeImg = [UIImage imageNamed:@"star off.png"];

    if ([sender isSelected]) {
        [sender setImage:likeImg forState:UIControlStateNormal];
        [sender setSelected:NO];
    }else {
        [sender setImage:likeSelectedImg forState:UIControlStateSelected];
        [sender setSelected:YES];
    } 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...