Динамическое отображение TableView или DetailView
Из моего TableView я динамически хочу показать либо TableView, либо DetailView (new segue), основываясь на содержимом ячейки. Я установка двух переходов от TableView, чтобы разные DetailViews и один переход из TableViewCell к TableView.
Я почти завершил реализацию с помощью performSegueWithIdentifier:
(см. ниже), но остается одна трудная проблема: после вызова [self dismissModalViewControllerAnimated:YES];
на DetailView он возвращается к пустому TableView . Я предполагаю, потому что раскадровка сегментирует от UITableViewCell
выполняемый. Нажав кнопку назад, я возвращаюсь к своим исходным (родительским) данным TableView.
Какие-либо предложения по этой работе?
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
NSLog(@"%s", __PRETTY_FUNCTION__);
NSString *type = [[self.dataController objectInListAtIndex:[self.tableView indexPathForSelectedRow].row] valueForKey:@"cell_type"];
NSLog(@"cell_type: %@", type);
if([[segue identifier] isEqualToString:@"DetailSegue"])
{
UIViewController *detailViewController = [segue destinationViewController];
detailViewController.game = [self.dataController objectInListAtIndex:[self.tableView indexPathForSelectedRow].row];
} else if ...
} else if([[segue identifier] isEqualToString:@"TableViewSegue"]){
if([type isEqualToString:@"TableView"]){
//Create child ViewController, a custom ViewController with custom initWithId:Title:
CategoryViewController *categoryViewController = [[segue destinationViewController] initWithId:categoryId Title:categoryTitle];
}
}
}
1 ответ:
Я бы создал в своем tableview несколько ячеек. Каждый со своим собственным идентификатором. Затем соединяем каждую клетку своего собственного detailviewcontroller. Вы также можете подключить ячейку к ее собственному контроллеру вида (создавая детализированную функциональность только для конкретной ячейки).
Вот и все...