我的应用程序有问题,非常感谢任何帮助!
问题描述: 使用下面给出的代码片段构建应用程序时,用户可以滚动两个页面,但只有一个页面显示图像。我的期望是两个页面都显示图像。
应用布局: 该应用仅针对横向模式中的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的方法setViewPositionToHorizontalPage如下所示:
- (void)setViewPositionToHorizontalPage:(NSUInteger)pageIndex
{
self.view.frame = CGRectMake(768 * pageIndex, 0, 768, 1024);
}
当我使用透明图像时,我可以看到两个视图似乎都位于同一位置。当我记录他们的帧时,他们似乎都有正确的值(0,0,768,1024)和(768,0,768,1024)。
再次感谢您的帮助!