Jak programowo wybrać UITableView
wiersz, aby
- (void)tableView:(UITableView *)tableView
didSelectRowAtIndexPath:(NSIndexPath *)indexPath
zostanie stracony? selectRowAtIndexPath
podświetli tylko wiersz.
iphone
objective-c
cocoa-touch
uitableview
4thSpace
źródło
źródło
Odpowiedzi:
Z dokumentacji referencyjnej:
Co bym zrobił to:
Następnie, z miejsca, w którym chciałeś wywołać metodę selectRowAtIndexPath, zamiast tego wywołujesz metodę doSomethingWithRowAtIndexPath. Ponadto możesz również wywołać metodę selectRowAtIndexPath, jeśli chcesz, aby informacje zwrotne dotyczące interfejsu użytkownika były realizowane.
źródło
Jak powiedział Jaanus:
Musisz więc
delegate
samemu wywołać metodę.Na przykład:
Wersja Swift 3:
Wersja ObjectiveC:
Wersja Swift 2.3:
źródło
UITableView selectRowAtIndexPath: animated: scrollPosition: powinno załatwić sprawę .
Po prostu przejdź
UITableViewScrollPositionNone
do scrollPosition, a użytkownik nie zobaczy żadnego ruchu.Powinieneś także móc ręcznie uruchomić akcję:
[theTableView.delegate tableView:theTableView didSelectRowAtIndexPath:indexPath]
po tobie,
selectRowAtIndexPath:animated:scrollPosition:
więc dzieje się podświetlenie, a także związana z nim logika.źródło
jeśli chcesz wybrać wiersz, to ci pomoże
Spowoduje to również wyróżnienie wiersza. Następnie deleguj
źródło
Szybkie rozwiązanie 3/4/5
Wybierz wiersz
Odznacz wiersz
źródło
Istnieją dwie różne metody dla platform iPad i iPhone, więc musisz wdrożyć obie:
segue.
źródło
Użyj tej kategorii, aby wybrać wiersz tabeli i wykonać określoną ścieżkę po opóźnieniu.
Wywołaj to w ramach swojej
viewDidAppear
metody:źródło