I'm using a UIPageViewController to present calendar-related content on a series of pages. For the month and year calendar pages, I'm using UICollectionViews, the cells of which contain a UILabel with the date number. The Year page uses a UILabel for each day of the year, so 365+ subviews.
I've found that when I manually scroll from other pages to the Month page, performance is acceptable, but scrolling to the Year page there is a big lag between when the user begins scrolling to it (this is when viewControllerBeforeViewController: is called), and when the page is actually displayed. The page is also choppy when scrolling, and is not nearly as responsive as other pages (which generally contain table views.)
My problem is that I can't feed the UIPageViewController a sequential array of view controllers for caching, since I often need to programatically jump from one page to another (meaning that I'm just setting up the UIPageViewController with a single view controller at any given time, using the solution in this answer: https://stackoverflow.com/a/17330606/1370967). Thus I rely on viewControllerBeforeViewController and viewControllerBeforeViewController to load pages when the user scrolls manually. (let me know if my understanding is off here).
So, I'm wondering how I can improve performance of loading and scrolling of the Month and Year pages.