Модальный переход требует 2 клика вместо одного
Моему UITableView нужно 2 щелчка, чтобы отобразить страницу сведений о выбранной ячейке: один для выбора, а другой для отображения подробного представления. Я бы хотел, чтобы одним щелчком мыши отображалось подробное представление ячейки, по которой щелкнули.
Я использую модальный переход с этим методом внутри моего 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];
}
}
Я не могу работать с push segue, потому что у меня нет контроллера навигации (и я не хочу).
Я посмотрел в Инспекторе атрибутов TableView, но не нашел ничего подходящего для этого. У меня выделен пункт «Одиночный выбор» и отмечен пункт «Показать выборку на ощупь». Я не знаю, если это возможно, и если это так, где искать ..
Спасибо за вашу помощь.
РЕДАКТИРОВАТЬ 1: Когда я пишу два метода, как это, он все еще не работает (требуется 2 клика), и у меня есть новый журнал предупреждений:
«Предупреждение. Попытайтесь представить TCDetailViewController: 0xa27b900 на TCRootViewController: 0xa24f050 во время презентации!»
- (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];
}
}
РЕДАКТИРОВАТЬ 2: Я не знаю, почему, но иногда это работает отлично и не требует второго щелчка мышью по представлению таблицы. Не могу узнать: /
Решение ниже