如何在横向中调整UIPageViewController的大小

时间:2013-12-13 17:57:11

标签: objective-c uiscrollview ios7 uipageviewcontroller

我遇到了在横向模式下调整UIPageViewController大小的问题。

以下是我的情景:

我有UIViewController,其中有scrollview。 我以编程方式向UIPageViewController添加了scrollview,它正确显示了每个页面中的所有视图控制器。 当我将设备方向更改为横向时,我正在正确更改scrollview的内容大小,但PageViewController仅显示其内容的一半。你能帮我解决这个问题。

谢谢, 阿南德。

1 个答案:

答案 0 :(得分:3)

您可能无法获得设备的正确方向或尝试在viewDidLoad功能中进行设置。以下代码应正确地将页面视图控制器的框架设置为当前方向。

- (void)viewWillLayoutSubviews {
    CGRect screenFrame = [[UIScreen mainScreen] applicationFrame];

    if (UIInterfaceOrientationIsLandscape([[UIApplication sharedApplication] statusBarOrientation])) {
        screenFrame = CGRectMake(0, 0, screenFrame.size.height, screenFrame.size.width);
    }

    //Please don't forget to replace _myPageViewController with your variable 
    _myPageViewController.frame = screenFrame;
}
  

请注意,代码是从viewWillLayoutSubviews调用的   功能