Заплыв UinavigationController в UitableView и отображение другой выбранной строки

StackOverflow https://stackoverflow.com/questions/7343954

Вопрос

Я создаю приложение с UITableView быть первым элементом в стеке UINavigationController что это в. UITableView будет подтолкнуть вид на "DetailedViewController". В DetailedViewController, вы можете перемещаться по элементам, которые заполняется видом на таблицу.

При появлении DetailedViewController, и возвращаются к UITableView, как я могу отменить выбор соответствующего предмета, на который я прошел через DetailedViewController и отображать его в центре в UITableView?

Примером, который каждый может увидеть, будет приложение для почты. Когда вы находитесь в своем почтовом ящике и делаете выбор, вы нажимаете "DetailedViewController"Там вы можете перемещаться по предметам, населенным в UITableView. Анкет Когда вы наносите DetailedViewController, он отменил выбор соответствующего предмета, который вы смотрели, наконец, в DetailedViewController.

Это было полезно?

Решение

Чтобы отменить выбранную строку, напишите следующий код viewDidAppear: метод

// Index path for selected row
NSIndexPath *selectedRow = [_tableView indexPathForSelectedRow];

// Deselet the row with animation
[_tableView deselectRowAtIndexPath:selectedRow animated:YES];

// Scroll the selected row to the center
[_tableView scrollToRowAtIndexPath:selectedRow 
       atScrollPosition:UITableViewScrollPositionMiddle 
               animated:YES];

Другие советы

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

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
     [tableView deselectRowAtIndexPath:indexPath animated:YES];
     ...
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top