UITableView не прокручивается до ячейки - PullRequest
5 голосов
/ 26 мая 2010

Я пытаюсь прокрутить просмотр таблицы во 2-ю ячейку:

[self.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:1 inSection:0] 
                                  atScrollPosition:UITableViewScrollPositionNone 
                                           animated:NO];

Я получаю ошибку:

 *** Terminating app due to uncaught exception 'NSRangeException', reason: '-[UITableView scrollToRowAtIndexPath:atScrollPosition:animated:]: section (1) beyond bounds (0).

В моем табличном представлении есть 30 ячеек без разделов.

Ответы [ 4 ]

10 голосов
/ 26 июня 2010

Когда я получил одно и то же сообщение об ошибке с таблицей из одного раздела, я исправил его, создав NSIndexPath со строкой и разделом:

NSIndexPath *ip = [NSIndexPath indexPathForRow:itemCurrentlyPlaying inSection:0];

Это не легко найти, но соответствующий удобный конструктор задокументирован здесь:

http://developer.apple.com/iphone/library/documentation/UIKit/Reference/NSIndexPath_UIKitAdditions/Reference/Reference.html

3 голосов
/ 26 мая 2010

Если у вас нет разделов, вы можете попробовать конструктор класса indexPathWithIndex::

[self.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathWithIndex:1] 
                      atScrollPosition:UITableViewScrollPositionNone 
                              animated:NO];
2 голосов
/ 11 августа 2010

Как и Pollyp, я смог использовать indexPathForRow:inSection:. Я звоню из моего viewWillAppear:.

Похоже, ваше сообщение об ошибке говорит о том, что нет даже одного раздела. Возможно, вы звоните scrollToRowAtIndexPath:atScrollPosition:animated: до загрузки данных таблицы (например, в viewDidLoad)? Попробуйте позвонить позже, в viewWillAppear:.

0 голосов
/ 14 июня 2010

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

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