在 StoryBoard 中,我设置了两个视图控制器:
PageViewRootViewController - 这只是空白(在故事板中),因为一切都是以编程方式设置的。
VillagerTextViewController - Storyboard 设置布局
此外,我有一个充当数据源的 ModelController (NSObject)。
一切正常。我可以在页面之间转换,没有警告或错误,也没有崩溃。
但是,在转换时,页面底部会被裁剪掉。我一直试图修复它无济于事。
我还不能发布图片所以http://s10.postimg.org/qbjlat649/Screenshot_2013_04_20_22_12_04.png
UIPageViewController 是在 PageViewRootViewController 的 viewDidLoad 方法中创建的:
- (void)viewDidLoad
{
[super viewDidLoad];
if (!pageViewController) {
NSDictionary *options = [NSDictionary dictionaryWithObject:[NSNumber numberWithInt:UIPageViewControllerSpineLocationMin] forKey:UIPageViewControllerOptionSpineLocationKey];
self.pageViewController = [[UIPageViewController alloc] initWithTransitionStyle:UIPageViewControllerTransitionStylePageCurl navigationOrientation:UIPageViewControllerNavigationOrientationHorizontal options:options];
self.pageViewController.delegate = self;
VillagerTextViewController *startingViewController = [self.modelController viewControllerAtIndex:0 storyboard:self.storyboard];
NSArray *viewControllers = @[startingViewController];
[self.pageViewController setViewControllers:viewControllers direction:UIPageViewControllerNavigationDirectionForward animated:NO completion:NULL];
self.pageViewController.dataSource = self.modelController;
[self.pageViewController.view setClipsToBounds:NO];
[self addChildViewController:self.pageViewController];
[self.view addSubview:self.pageViewController.view];
[self.pageViewController didMoveToParentViewController:self];
self.view.gestureRecognizers = self.pageViewController.gestureRecognizers;
}
}
在情节提要中,我将 PageViewRootViewController 的视图设置为弹出框宽度 768 和高度 200。我还将其显示为弹出框。
VillagerTextViewController 和 ModelController 没有与大小、框架或边界明确相关的任何内容(在代码或情节提要中)。
任何帮助表示赞赏!
编辑:
固定:
[self.pageViewController.view setFrame:CGRectMake(self.view.bounds.origin.x, self.view.bounds.origin.y, self.view.bounds.size.width, self.view.bounds.size.height+600)];