Mój UITableView potrzebuje 2 kliknięć, aby wyświetlić stronę szczegółów wybranej komórki: jedną do wyboru i drugą do pokazania widoku szczegółów. Chciałbym, aby jeden wiersz pokazał szczegółowy widok klikniętej komórki.Modal segue potrzebuje 2 kliknięć zamiast jednego
używam segue modalnego z tej metody w moim UITableViewManager.m:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"showDetail"]) {
NSIndexPath *indexPath = [playerList indexPathForSelectedRow];
TCPlayerStat *object = _objects[indexPath.row];
[[segue destinationViewController] setPlayerStat:object];
}
}
Nie mogę pracować z segue Push bo nie mam kontroler nawigacyjny (i tak naprawdę nie chcą).
Sprawdziłem w Inspektorze atrybutów TableView, ale nie znalazłem niczego odpowiedniego dla tego. Mam zaznaczone zaznaczenie "Pojedynczy wybór" i zaznaczenie "Pokaz wyboru zaznaczenia". Nie wiem, czy to możliwe, a jeśli tak, gdzie szukać ..
Dzięki za pomoc.
EDIT 1: Gdy piszę te dwie metody, jak ta, to nadal nie działa (potrzebuje 2 kliknięcia) i mam nowy dziennik ostrzegawczy:
„Ostrzeżenie: próba przedstawienia TCDetailViewController: 0xa27b900 na TCRootViewController: 0xa24f050 podczas trwania prezentacji! "
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[self performSegueWithIdentifier:@"showDetail" sender:self];
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"showDetail"]) {
NSIndexPath *indexPath = [playerList indexPathForSelectedRow];
TCPlayerStat *object = _objects[indexPath.row];
TCDetailViewController *detailViewController = [segue destinationViewController];
[detailViewController setPlayerStat:object];
}
}
EDIT 2: Nie wiem dlaczego, ale czasami działa idealnie i nie potrzebuje drugiego kliknij na widoku tabeli. Nie można dowiedzieć się:/
Rozwiązanie poniżej
Spróbuj, czy wybrałeś wiersz na ścieżce indeksu - a następnie z tego miejsca. – DogCoffee