7

What's the preferred way to use UIPageViewController?

  1. Subclass UIPageViewController and also use that object as the datasource for itself?

  2. Create a container VC and add a UIPageViewController as its child VC? (having the container VC be the data source)

Pros/Cons to either approach would be appreciated.

Rizon
  • 1,516
  • 4
  • 25
  • 45

2 Answers2

12

Approach #2 is preferred. If you use #1, you might run into this layout issue. Also, UIPageViewController has many readonly properties, and using composition instead of inheritance will encourage you to use it in the way in which it was designed.

Community
  • 1
  • 1
Aaron Brager
  • 65,323
  • 19
  • 161
  • 287
1

You don't need to create a parent view controller to implement delegation methods.

You can simply drag an NSObject in the scene browser and set it's class to your datasource/delegate object.

enter image description here

Moose
  • 2,607
  • 24
  • 23