Выбор вида UITable остается выделенным - PullRequest
0 голосов
/ 26 января 2012

Я использую XCode4.2 для разработки приложения раскадровки

Я переключаю представления на основе щелчка в UITableView, после щелчка строки выделяется синим цветом и загружается новое представление.

когда я возвращаюсь к исходному виду, строка все еще подсвечивается синим цветом ... как это отключить?

Ответы [ 3 ]

1 голос
/ 26 января 2012

Я делаю это в

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    [tableView deselectRowAtIndexPath:indexPath];
}

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

1 голос
/ 26 января 2012

используйте deselectRowAtIndexPath:(NSIndexPath *)indexPath animated:(BOOL)animated функцию для отмены выбора строк в uitableview

вызовите ее в вашей функции viewWillAppear

[yourTableView deselectRowAtIndexPath:selectedIndexPath animated:NO];

, если вы не уверены, какой индекс вы выбралив прошлый раз вы можете запустить цикл для всех путей индекса в вашей таблице.

-(void) viewWillAppear:(BOOL)animated{


    [super viewWillAppear:animated];

    for(int i = 0; i <= [yourArr count]; i++)
    {
        NSIndexPath *indexPath = [NSIndexPath indexPathForRow:i inSection:0];
        [yourTableView deselectRowAtIndexPath:indexPath animated:NO];
    }

}

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

0 голосов
/ 26 января 2012

UITableViewController делает это автоматически. В противном случае в вашем viewDidAppear для контроллера-владельца вам нужно вызвать - (void)deselectRowAtIndexPath:(NSIndexPath *)indexPath animated:(BOOL)animated в табличном представлении.

...