Как открыть контроллер представления из didSelectRowAtIndexPath в раскадровке? - PullRequest
6 голосов
/ 04 января 2012

У меня есть раскадровка с tabbarcontroller.Одна из вкладок имеет табличное представление, и я хочу, чтобы при нажатии пользователем строки в табличном представлении открывалось подробное представление.Проблема в том, что когда я открываю панель вкладок подробного вида и панель навигации скрывается ... В раскадровке я создаю подробный вид как новый контроллер представления, затем создаю новый файл и отсылаю его к классу подробного представления.

Код в didselectrowatindexpath:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath  *)indexPath {

detalleYouTube *dvController = [[detalleYouTube alloc] init];

[self.navigationController pushViewController:dvController animated:YES];

}

Заранее спасибо!

Ответы [ 3 ]

6 голосов
/ 05 декабря 2012

Это довольно старое, но если кому-то нужно сделать это, вот простой подход:

Вы можете использовать добавить переход из представления на панели вкладок в detalleYouTube, добавить идентификатор для перехода и сделать это:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath  *)indexPath
{
[self performSegueWithIdentifier:@"segueIdentifier" sender:tableView];
}
5 голосов
/ 18 июля 2012

Другой подход к этому - не использовать tableView: didSelectRowAtIndexPath, а вместо этого использовать prepareForSegue: sender

так, как я это сделал:

-(void)prepareForSegue:(UIStoryboardSegue*)segue sender:(id)sender
{
    DetailViewController *viewController = [segue destinationViewController];
    CustomObject *custObject = [arrayOfObjects objectAtIndex:[self.tableView indexPathForSelectedRow].row];
    viewController.objectNeeded = custObject;
}

Этот пример основан на идее, чтоваш контроллер подробного просмотра подключен к вашему контроллеру табличного представления.

4 голосов
/ 05 января 2012

Я предполагаю, что у вас есть представление «Подробности» как часть раскадровки (не в отдельном XIB), в таком случае вам нужно будет поместить отдельный NavigationController в начале последовательности «Подробности» TabBarItem.

На этой странице есть хороший учебник о том, чего, по-моему, вы пытаетесь достичь: http://maybelost.com/2011/10/tutorial-storyboard-in-xcode-4-2-with-navigation-controller-and-tabbar-controller-part1/

Также посмотрите эти ссылки на более подробное руководство по раскадровке:

http://www.raywenderlich.com/5138/beginning-storyboards-in-ios-5-part-1

http://www.raywenderlich.com/5191/beginning-storyboards-in-ios-5-part-2

...