2014-09-19 4 views
0

Я пытаюсь создать свое первое приложение для iPhone. Я создал два разных мнения в своей раскадровке. «Мастер» и «подробный» вид. Я встроил Master View в контроллер навигации. Мастер-представление состоит из UITableView с пользовательскими ячейками.Изменить вид с segue

Я пытаюсь показать подробный вид, когда я нажимаю на ячейку. но я не понимаю, как это сделать ... Я создал «точку обзора» segue между ячейкой и Detail View, но когда я нажимаю на ячейку, ничего не происходит.

Спасибо за помощь.

+0

Существует XCode образец делает точно такую ​​же вещь, которую вы пытаетесь сделать. Просто дайте ему чек. Вы можете найти его в ** XCode> Файл> Создать> Проект ...> iOS> Приложение> Приложение мастера подробностей ** – jMelnik

+0

Я использовал приложение «Мастер подробностей» для своего приложения. Все работало, пока я не создал свой пользовательский UITableViewCell. – ThibaultV

+0

Проверьте, что это похоже на вашу проблему: http://stackoverflow.com/a/28428558/4935811 –

ответ

0

Вставьте UITableView в контроллер навигации.

0

У вас есть код в вашем методе "didSelectRowAtIndexPath" в вашей таблице?

+0

Да, я написал '[self performSegueWithIdentifier: @" showDetail "отправитель: self];' – ThibaultV

+0

@ThibaultV, вы не должны вызывать performSegue, если вы сделали segue из ячейки на следующий контроллер - он должен вызываться автоматически при выборе вашей ячейки. – rdelmar

+0

попробуйте этот код: 'VIEWCONTROLLERTHATUNEEDTOPUSH * viewController = [[VIEWCONTROLLERTHATUNEEDTOPUSH alloc] init]; [self.navigationController pushViewController: viewController animated: YES]; ' не забудьте изменить VIEWCONTROLLERTHATUNEEDTOPUSH для вашего главного контроллера! –

0

Вы можете попробовать с этим решением here:

Проблема заключается в том, что вы правильно не обрабатывает данные. Если вы заглянете в свой текущий массив ответов, вы увидите, что он содержит NS-словари, но в вашей подготовкеForSegue вы пытаетесь применить NSDictionary к NSArray, что приведет к сбою приложения.

Изменение переменных данных в RestaurantViewController к NSDictionary и изменить prepareForSegue чтобы пропускать NSDictionary

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) { 
if let cell = sender as? UITableViewCell { 
    let i = redditListTableView.indexPathForCell(cell)!.row 
    if segue.identifier == "toRestaurant" { 
     let vc = segue.destinationViewController as RestaurantViewController 
     vc.data = currentResponse[i] as NSDictionary 
    } 
} 
} 
Смежные вопросы