Замените TableView в SplitViewController - PullRequest
3 голосов
/ 23 января 2012

Я ищу заменить UITableView в разделе MasterViewController на UISplitViewController. Вместо UITableView мне нужен просто вид, чтобы я мог поместить в него UIButtons, UILables и т. Д. Эти кнопки будут затем контролировать то, что отображается в разделе DetailView SplitView.

Я задал этот вопрос в другом месте, и кто-то предложил мне создать подкласс UISplitViewController. Этот человек не дал много указаний, кроме того, что сохранил DetailViewController.h, .m и .xib и отредактировал MasterViewController.h, .m и .xib на мой вкус.

Вот шаги, которые я предпринял:

  • Создан новый проект и выбрано «Приложение Master-Detail»
  • Снимите флажок «Использовать раскадровку», чтобы я мог получить файлы XIB.
  • Открыт "MasterViewController.xib"
  • Удалено «Представление таблицы» в разделе «Объекты»
  • Добавлено «View Controller» в «Объекты»
  • Изменено "@interface MasterViewController: UITableViewController" в "@interface MasterViewController: UIViewController" в "MasterViewController.h"
  • Закомментировал что-либо в «MasterViewController.m», что вызывало проблемы, потому что они ссылались на свойства TableView, которого больше нет.

Тогда я получаю эту ошибку: - [UIViewController _loadViewFromNibNamed:bundle:] загрузил перо «MasterViewController», но выходное окно представления не было установлено. »

Я на правильном пути? Если я, могу ли кто-нибудь помочь мне с ошибкой, которую я получаю?

Иначе, если я пойду неправильно, кто-то может направить меня в правильном направлении?

Спасибо!

1 Ответ

6 голосов
/ 19 апреля 2012

сейчас, с раскадровкой в ​​последнем Xcode, вот что я сделал…

  1. создайте новый проект Master-Detail и разрешите раскадровку
  2. открыть MainStoryboard_iPad.storyboard
  3. нажмите на TableViewController и затем удалите его
  4. перетащите в новый простой ViewController
  5. Ctrl-click-drag от контроллера навигации, который является главным контроллером представления, до вашего нового ViewController
  6. удалите файлы MasterViewController.h / .m и создайте новый класс, который является подклассом UIViewController
  7. возьмите имя только что созданного замещающего класса и поместите его в имя класса раздела Custom Class вашего инспектора идентификации

Теперь добавьте кнопки и подключите их так, как вы хотите. если вы придерживаетесь одного контроллера представления в части detail, вы можете просто ссылаться на detailViewController напрямую и заполнять его, как хотите; для кратных вы, вероятно, можете использовать замены сегментов.

для iPhone, шаги будут аналогичными. вам нужно будет ctrl-click-drag из контроллера nav в ваш новый ViewController и точно так же настроить замещающие файлы ViewController.h / .m. сегменты от ваших кнопок будут push-segues, или вы можете просто вызвать executeSegueWithIdentifier: sender:.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...