UITableView начальный выбор строки - PullRequest
1 голос
/ 16 июня 2011

Может быть, я упускаю что-то очевидное, но мне трудно программно настроить выбор строки в табличном представлении. Цель состоит в том, чтобы просто открыть tableView с уже выбранной строкой. Проблема заключается в том, что мне нужно подождать, пока tableView полностью загрузится, прежде чем я смогу изменить выбор.

Я прочитал различные стратегии, такие как вызов reloadData для tableView в методе viewController viewWillAppear, а затем немедленный вызов selectRowAtIndexPath для целевой строки. Но когда я это делаю, я получаю исключение диапазона, потому что tableView имеет ноль строк в этой точке. Методы UITableViewDelegate (numberOfRowsInSection и т. Д.), По-видимому, не вызываются немедленно в ответ на reloadData (что имеет смысл, если строки таблицы отображаются «лениво»).

Единственный способ заставить это работать - это вызвать selectRowAtIndexPath после небольшой задержки, но затем вы можете увидеть tableView, прокручивая выбранную строку в представление.

Конечно, есть лучший способ сделать это?

1 Ответ

0 голосов
/ 16 июня 2011

Ну, вы можете использовать другую стратегию.Вы можете создать скрытое представление таблицы, настроить, как вы хотите, а затем показать пользователю.Используйте tableview.hidden = YES.

...