2010-05-26 11 views
5

Próbuję przewinąć moje tableview do 2 komórki:UITableView nie przewijania do komórki

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

pojawia się błąd:

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

'

Moja tableview posiada 30 komórek które pojawiają się bez sekcji.

+0

Pokaż swój kod dla 'numberOfSectionsInTableView:' –

Odpowiedz

3

Jeśli nie masz sekcje, a następnie można spróbować konstruktora indexPathWithIndex: Klasa:

[self.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathWithIndex:1] 
         atScrollPosition:UITableViewScrollPositionNone 
           animated:NO]; 
+0

To połączenie jest przestarzałe w wersji 4.0. Wiem, że nie możemy o tym dyskutować, więc bez łamania NDA - jak mogę określić sekcję, jeśli jej nie zawierają? –

+0

@Sheehan: Nie widzę ostrzeżenia o wycofaniu w XCode, w nagłówkach ani w dokumentacji. Czy na pewno połączenie jest przestarzałe? –

+1

Przepraszam, jestem w błędzie, że nie jest przestarzałe. Otrzymałem ten błąd: *** Kończenie aplikacji z powodu nieprzechwyconego wyjątku "NSInternalInconsistencyException", powód: "Niepoprawna ścieżka indeksu do użycia z UITableView. Ścieżki indeksów przekazane do widoku tabeli muszą zawierać dokładnie dwa indeksy określające sekcję i wiersz. Proszę użyć kategorii na NSIndexPath w UITableView.h jeśli to możliwe. " –

0

polecam utworzyć sekcję do przechowywania komórek w tej sekcji mogą nie mają nagłówek tak, że nie jest wizualnie rozróżnialne. , a to, co to zyskuje, to zdolność do walki z zamierzonymi szlakami API.

2

Jak pollyp, byłem w stanie wykorzystać indexPathForRow:inSection:. Dzwonię do tego z mojego viewWillAppear:.

Wygląda na to, że komunikat o błędzie mówi, że nie ma nawet jednej sekcji. Czy może wywołasz scrollToRowAtIndexPath:atScrollPosition:animated: przed załadowaniem danych tabeli (np. W viewDidLoad)? Spróbuj zadzwonić później, pod viewWillAppear:.

Powiązane problemy