2014-10-28 99 views

回答

7

不,它不一定是全屏。事实上,它可以用作其他任何UIViewController。如果您想将其嵌入较小的矩形中,可以使用UIViewController containment

假设您想要将其嵌入到父控制器中,该控制器是UIViewController子类。然后定义一个pageViewController属性,并将其在viewDidLoad添加为子视图控制器:

self.pageViewController = [[UIPageViewController alloc] initWithTransitionStyle:UIPageViewControllerTransitionStyleScroll navigationOrientation:UIPageViewControllerNavigationOrientationHorizontal options:nil]; 
self.pageViewController.view.frame = ... //set the frame or add autolayout constraints 

[self addChildViewController:self.pageViewController]; 
[self.view addSubview:self.pageViewController.view]; 
[self.pageViewController didMoveToParentViewController:self]; 
+0

你是对的,你可以在一个UIViewController具有比屏幕的框架更小的框架嵌入pageViewController。不幸的是,尽管从一个内容ViewController滑动到另一个ViewController的速度太快,并且与pageViewController的大小与屏幕大小相比太敏感。无论是UIPageViewController是越野车,或者我实现它不完全正确...你有同样的问题?如果你确实能解决它? – BCI 2016-10-24 10:57:56