Заплыв UinavigationController в UitableView и отображение другой выбранной строки
Вопрос
Я создаю приложение с 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];
...
}