как центрировать выбор uitableview с помощью значения indexpath - PullRequest
5 голосов
/ 07 октября 2011

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

Одной из проблем является то, что если пользователь выбрал ячейку из довольно большого списка, трудно найти ячейку, которую он выбрал снова, если он хотел изменить ее (если они допустили ошибку)

Я хотел бы знать, является ли их способ использовать indexPath или что-то подобное для центрирования ранее выбранной ячейки uitableview по центру экрана?

UPDATE ::

Вот графическое представление того, что я пытаюсь достичь, чтобы сделать его более понятным.

шаг первый: выберите ячейку, затем перейдите в подпредставление и выберите ячейку (значение), которую вы хотите вернуть обратно в основной вид (сохранить indexPath выбранной ячейки) enter image description here

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

enter image description here

Ответы [ 2 ]

12 голосов
/ 07 октября 2011

Вы пробовали следующую функцию

[tableView scrollToRowAtIndexPath: atScrollPosition:UITableViewScrollPositionMiddle animated:YES]
0 голосов
/ 07 октября 2011

a UITableView является подклассом UIScrollView - попробуйте установить смещение содержимого (определите, сколько с высотой ячейки и indexPath).

[tableView setContentOffset:CGPointMake(0, indexPath.row*cellHeight) animated:YES];

должно работать. Вы можете сделать математику немного по-другому.

...