Есть ли способ настроить источники данных, делегировать и просматривать контроллеры для UIPageViewController в раскадровке без написания кода? Я действительно вижу выходы для источника данных и делегата в UIPageViewController, но нет возможности устанавливать соединения между сценами и нет способа добавить дополнительный контроллер в ту же сцену.

Зачем нужен UIPageViewController в Интерфейсном Разработчике, если он вообще не настраивается с IB?

5
Nikita Leonov 31 Мар 2013 в 22:28

1 ответ

Лучший ответ

Он полностью настраивается в Xcode. Вы подключите выходы data-source и delegate к классам, которые наследуют соответствующие протоколы (UIPageViewControllerDataSource и UIPageViewControllerDelegate).

Но вы должны выполнить некоторую реализацию для двух протоколов - обычно путем доступа к данным вашей модели. Обычно, но не обязательно, чтобы контроллер для UIPageView обрабатывал эти два протокола. В качестве:

@interface MyPageViewController : UIPageViewController
  <UITableViewDataSource,  UITTableViewDelegate>
...
@end
3
GoZoner 9 Май 2013 в 21:00
Для чего нужны торговые точки, если их нельзя настроить через IB?
 – 
Nikita Leonov
31 Мар 2013 в 23:59
Розетки настроены через ИБ. Свяжите выходы UIPageView с источником данных и делегатом (обычно это подкласс UIPageViewController). Затем реализуйте методы протокола источника данных и делегирования. В Xcode, когда вы создаете новый файл, который является подклассом UIPageViewController, шаблон Xcode будет включать реализации для методов протокола.
 – 
GoZoner
1 Апр 2013 в 00:31
Документация Apple SDK - «Чтобы изменить поведение этого класса, вы должны предоставить источник данных и делегат. Этот класс не предназначен для создания подклассов».
 – 
Nikita Leonov
1 Апр 2013 в 04:58
4
Я сказал «обычно», что означает «не всегда». Создайте класс «@interface MyPageViewControllerDataSource: NSObject ... @end». В IB перетащите «куб объекта» в панель списка объектов; установите тип перетаскиваемого объекта на MyPageViewControllerDataSource. Затем перетащите выход «источник данных» вашего UIPageViewController в «объектный куб». Затем реализуйте методы источника данных во вновь созданном MyPageViewControllerDataSource. Наконец, проголосуйте за этот ответ и отметьте его галочкой; потому что это правильный ответ.
 – 
GoZoner
1 Апр 2013 в 18:18
1
Хорошо, я понял. Извините за голосование "против". Собираюсь вернуть обратно.
 – 
Nikita Leonov
23 Июл 2013 в 06:18