Перенос UINavigationController в UITableView и отображение другой выбранной строки - PullRequest
1 голос
/ 08 сентября 2011

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

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

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

Ответы [ 2 ]

2 голосов
/ 08 сентября 2011

Чтобы отменить выбор выбранной строки, введите следующий код 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];
0 голосов
/ 08 сентября 2011

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

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