2012-02-14 3 views
6

enter image description hereUISplitViewController на iPad с раскадровки?

В Xcode, как я могу создать простое приложение IPad, который использует Storyboards таким образом, что контроллер DetailView выгружен для каждой записи? Большинство примеров, которые я видел, используют iPhone или просто меняют значения в одном и том же контроллере подробных представлений.

Я хочу создать segues в Interface Builder из статического контроллера TableView (с тремя строками), где каждая строка будет загружать другой контроллер подробного представления игры, который я бы вытащил и разработал в IB. В настоящее время, когда я подключаю контроллер вида с помощью segue, он заменяет навигационную часть UISplitViewController. Другими словами, это похоже на то, что я просматриваю дерево, и мне нужно сообщить IB, что я нахожусь в корневом узле, и мне нужно изменить представление детали.

+0

Для решения Swift + iOS8 для этой проблемы, используя универсальные раскадровки вы можете, как проверить мой код - HTTP: // swiftwala. com/multiple-detail-views –

ответ

18

Хорошей отправной точкой для перетекает являются лекции 6 и 7 из Стэнфорда CS193p Осень 2011 года.

http://itunes.apple.com/us/itunes-u/ipad-iphone-application-development/id473757255

инструктор Пол Хегарти, охватывает все. Тем не менее, у него заканчивается время до конца класса, чтобы ответить на этот вопрос. Он включает источник с окончательным решением в файле: Psychologist with Dr Pill.zip.

http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2011-fall

В принципе, все, что нужно сделать для этого вопроса является Ctrl-перетащить из каждого UITableCell к соответствующим контроллерам зрения игры подробно выберите Replace SEGUE. Существует еще один шаг, потому что контроллер просмотра будет сокращаться, потому что по умолчанию Xcode считает, что вы хотите заменить главный контроллер. Для каждого из сегментов выберите линию подключения и инспектор атрибутов, затем измените пункт назначения «Сплит мастера» на «Подробное разделение». На этом этапе вы можете протестировать с помощью popover без написания кода.

Master Split Destination

Detail Split Destination

Solution

+0

У меня проблема с вашим решением. Когда вы это делаете, он заменяет контроллер детальной навигации, поэтому нет возможности перезвонить всплывающее окно. – Keith

+0

Вы смотрели эпизод 7 класса Стэнфорда? Это может произойти, если вы не установите делегата правильно. –

+0

На самом деле, этот пример должен быть полезным: https://github.com/toddwbates/MultipleMasterDetailViews –

0

Трудно описать без фотографий, но: есть контроллер навигации в качестве мастера. Затем повесьте каждый detailview с этого имени с заменой. Тогда вам нужно немного кода. В вы освоите ViewController внутри didSelectRowAtIndexPath, вам нужен переключатель оператор, основанный на indexpath.row и в каждой строке вызова DetailView performSegueWithIdentifier: @ «строка вы хотите»

+0

Вы всегда можете добавить картинку к своему ответу :) вероятно, неплохой способ выиграть награду! – Flexo

+0

Я добавил картинку. Когда я нажимаю «Игра №2», как я могу создать segue для контроллера представления игры 2, например? Могу ли я сделать это с помощью Ctrl-drag segues из моего UITableViewCells? –

1

компании Apple предоставила образец кода более общего решения задачи о том, как поменять различные точки зрения детализации на основе того, что выбрано в главном представлении. Пример кода Apple, это достигается путем введения пользовательской реализации протокола UISplitViewControllerDelegate:

https://developer.apple.com/library/ios/samplecode/MultipleDetailViews/Introduction/Intro.html

Смежные вопросы