横向模式下UIScrollView的问题

时间:2012-08-27 09:57:13

标签: ios ipad uikit

我的应用程序有问题,非常感谢任何帮助!

问题描述: 使用下面给出的代码片段构建应用程序时,用户可以滚动两个页面,但只有一个页面显示图像。我的期望是两个页面都显示图像。

应用布局: 该应用仅针对横向模式中的iPad。

我的应用程序使用UIScrollView在两个不同的视图控制器之间滚动。每个视图控制器都在其视图中嵌入了UIImageView。 UIImageView的图像通过IB设置。图像的尺寸为1024x768像素。

视图控制器使用故事板界面在代码中实例化。 主视图控制器在其视图中嵌入了UIScrollView,它使用以下代码实例化并添加包含图像的视图控制器。

- (void)viewDidLoad
{
    [super viewDidLoad];

    // Keep the VCs around
    self.viewControllers = [NSMutableArray array];

    [self.scrollView setContentSize:CGSizeMake(0, 1024)];

    UIStoryboard *storyboard = self.storyboard;

    SinglePageViewController *vcOne = [storyboard instantiateViewControllerWithIdentifier:@"SimpleImageView"];
    [self addViewControllerToScrollView:vcOne];
    [vcOne setViewPositionToHorizontalPage:0];

    SinglePageViewController *vcTwo = [storyboard instantiateViewControllerWithIdentifier:@"SimpleImageView"];
    [self addViewControllerToScrollView:vcTwo];
    [vcTwo setViewPositionToHorizontalPage:1];
}

- (void)addViewControllerToScrollView:(UIViewController *)viewController
{
    CGSize contentSize = self.scrollView.contentSize;
    contentSize.width = contentSize.width + 768;
    [self.scrollView setContentSize:contentSize];
    [self.scrollView addSubview:viewController.view];
    [self.viewControllers addObject:viewController];
}

类SinglePageViewController的方法setViewPositionToHorizo​​ntalPage如下所示:

- (void)setViewPositionToHorizontalPage:(NSUInteger)pageIndex
{
    self.view.frame = CGRectMake(768 * pageIndex, 0, 768, 1024);
}

当我使用透明图像时,我可以看到两个视图似乎都位于同一位置。当我记录他们的帧时,他们似乎都有正确的值(0,0,768,1024)和(768,0,768,1024)。

再次感谢您的帮助!

0 个答案:

没有答案