Mam UITableview w moim projekcie xcode.W tym Komentarze są wyświetlane.Jak mogę skupić się na ostatniej komórce mojego TableView z przewijaniem animacji?Jak skupić się na ostatniej komórce w widoku UITable z przewijaniem animacji?
Odpowiedz
Poniżej metoda znajdzie ostatni indeks wyświetlanie tabeli i będzie koncentrować się na tej komórki z animacją
-(void)goToBottom
{
NSIndexPath *lastIndexPath = [self lastIndexPath];
[<YOUR TABLE VIEW> scrollToRowAtIndexPath:lastIndexPath atScrollPosition:UITableViewScrollPositionBottom animated:YES];
}
kod do znalezienia ostatniego indeksu swojego tableview.
-(NSIndexPath *)lastIndexPath
{
NSInteger lastSectionIndex = MAX(0, [<YOUR TABLE VIEW> numberOfSections] - 1);
NSInteger lastRowIndex = MAX(0, [<YOUR TABLE VIEW> numberOfRowsInSection:lastSectionIndex] - 1);
return [NSIndexPath indexPathForRow:lastRowIndex inSection:lastSectionIndex];
}
Dodaj ten kod gdzieś w kontrolerze widoku
[self performSelector:@selector(goToBottom) withObject:nil afterDelay:1.0];
Pamiętaj, że UITableView dziedziczy od UIScrollView
-(void)scrollToBottom:(id)sender
{
CGSize r = self.tableView.contentSize;
[self.tableView scrollRectToVisible:CGRectMake(0, r.height-10, r.width, 10) animated:YES];
}
wykonać go jak
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
button.frame = CGRectMake(…);
[button addTarget:self action:@selector(scrollToBottom:) forControlEvents:UIControlEventTouchUpInside];
(Nie trzeba używać performSelector:…
)
Innym rozwiązaniem byłoby wybranie ostatniego wiersza. Widok tabeli zajmie się resztą.
-(void)scrollToBottom:(id)sender
{
NSInteger lasSection = [self.tableView numberOfSections] - 1;
NSInteger lastRow = [self.tableView numberOfRowsInSection:lasSection]-1;
//this while loops searches for the last section that has more than 0 rows.
// maybe you dont need this check
while (lastRow < 0 && lasSection > 0) {
--lasSection;
lastRow = [self.tableView numberOfRowsInSection:lasSection]-1;
}
//if there is no section with any row. if your data source is sane,
// this is not needed.
if (lasSection < 0 && lastRow < 0)
return;
NSIndexPath *lastRowIndexPath =[NSIndexPath indexPathForRow:lastRow inSection:lasSection];
[self.tableView selectRowAtIndexPath:lastRowIndexPath animated:YES scrollPosition:UITableViewScrollPositionBottom];
}
przycisk jest taki sam.
zobacz moją edycję przewijania, wybierając. – vikingosegundo
Naprawiono drobne błędy. zwróć uwagę, że jeśli jesteś pewien, że 'numberOfRowsInSection' zawsze zwróci wartość o 1 lub wyższą, możesz usunąć instrukcję while i następującą instrukcję if. – vikingosegundo
To rozwiązanie wymaga zdarzenia kliknięcia przycisku, aby przejść do ostatniej komórki. Możesz użyć performSelector z opóżnieniem, aby przejść do ostatniej komórki po załadowaniu całego widoku tabeli. –
Swift 3:
let indexPath = IndexPath(row: /*ROW TO SCROLL TO*/, section: /*SECTION TO SCROLL TO*/)
tableView.scrollToRow(at: indexPath, at: .bottom, animated: true)
- 1. Blokady przewijania/przewijania po animacji z przewijaniem
- 2. Jak uzyskać tytuł wiersza zaznaczonego w widoku UITable
- 3. Jak skupić się na elemencie w GWT?
- 4. Android jak skupić się na ActionBar searchView
- 5. Jak mogę skupić się na poprzedniej aplikacji w Cocoa?
- 6. Uzyskaj indeks wiersza niestandardowej komórki w widoku UITable
- 7. Konflikt UIPanGestureRecognizer z przewijaniem
- 8. Jquery - Skupić się na polu wejściowym w formularzu na pageload?
- 9. Modal z TabIndex = „- 1” dostaje skupić się na karcie
- 10. Jak mogę się skupić na polu wyboru selectize?
- 11. Osadzanie widoku kolekcji w komórce niestandardowego widoku tabeli
- 12. będzie_popraszać z niekończącym się przewijaniem | Rails4
- 13. Animacja alfa w Androidzie: pozostawanie w ostatniej klatce animacji po zakończeniu animacji
- 14. Przewijanie dwóch widoków UITable razem
- 15. Jak mogę śledzić ścieżkę indeksu przycisku w komórce widoku tabeli?
- 16. jak ustawić brak animacji dla pierwszego widoku z ViewFlipper
- 17. Modyfikowanie widoku kontenera animacji iPhone'a przed rozpoczęciem animacji
- 18. Ustalone pozycjonowanie z przewijaniem
- 19. Testowanie: jak skupić się na zachowaniu zamiast na implementacji bez utraty prędkości?
- 20. UItable Cell Overflow ios
- 21. Problem z przewijaniem poziomym w poziomie strony
- 22. ListView WPF nie zintegrowany z przewijaniem
- 23. Jak utworzyć> w komórce z Xamarin.Forms?
- 24. Jak uzyskać indexPath w widoku tabeli z akcji przycisku w komórce?
- 25. Przeglądarka PDF z poziomym przewijaniem
- 26. Jak skupić się po inicjalizacji za pomocą emberjaków?
- 27. Jak dodać klikalny przycisk na komórce tabeli?
- 28. Zmiana położenia widoku po zakończeniu animacji
- 29. Aplikacja na komputer musi się skupić, gdy użytkownik znajduje się w metrze
- 30. Jak przetestować dyrektywę AngularJS z przewijaniem
dzięki koleś ..... ........ działa wielkie dzięki :) –
działa dobrze ... :) – jaydev
prace jak mistrz – iLearner