我有一个子视图控制器,在Interface Builder中我希望VC视图的子视图是UIPageViewController的视图。我将UIPageViewController的数据源设置为File的Owner,将view属性设置为我的VC的子视图。可以实现此功能吗?或者我不能以这种方式使用UIPageVC?大多数示例都是针对故事板而不是由NavigationController方式推送的旧VC。我得到了这个异常'[UIView invalidatePageViewController]'。
答案 0 :(得分:1)
当我将UIViewController作为我的根视图时,我发生了同样的事情 - 我的UIViewController有一个属性定义为:
@property (strong, nonatomic) IBOutlet UIPageViewController *pageViewController;
我的IBoutlet也连接到我的xib中的UIPageViewController。
解决方案:删除IBoutlet并断开UIPageViewController与我的xib的连接
@property (strong, nonatomic) UIPageViewController *pageViewController;
可能崩溃与“每个视图应该只有一个视图控制器”相关
另外,如果你这样做,请在'viewdidload'中 _pageViewController.view = _apageView;
其中_apageView在你的UIViewController中:
@property (strong, nonatomic) IBOutlet UIView *apageView;
这也会导致同样的崩溃 - 因此你需要这样做:
[_apageView addSubview:_pageController.view];
然后不应该发生崩溃。