UITableView теряет выбранное состояние iOS - PullRequest
1 голос
/ 20 сентября 2011

У меня есть UITableView и он у меня есть, поэтому, когда вы нажимаете первую ячейку, он переносит вас в новый вид (новый xib).Когда вы нажимаете вторую ячейку, вы переходите в другой вид и так далее.Когда вы переходите к любому из этих новых представлений и возвращаетесь к представлению таблицы, ячейка, которую вы только что нажали, все еще выделена (выделена синим цветом).Какой код это исправить?

Ответы [ 3 ]

4 голосов
/ 20 сентября 2011

В вашем методе делегата источника данных tableView:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    [tableView deselectRowAtIndexPath:indexPath animated:YES];
}
1 голос
/ 20 сентября 2011

Inside viewWillAppear вашего tableView, ячейка которого вы хотите удалить выделение из:

UITableViewCell *cell = (UITableViewCell *)[myTableView cellForRowAtIndexPath:lastSelected];
[cell setSelected:NO];

Где lastSelected может быть глобальной переменной типа NSIndexPath, хранящей indexPath из didSelectRowAtIndexPath вышеупомянутого UITableView

0 голосов
/ 20 сентября 2011

Это довольно просто ..

В том же методе, в котором вы нажимаете новый вид, вы должны добавить строку:

[tableView deselectRowAtIndexPath:(NSIndexPath *)indexPath animated:(BOOL)animated];
...