アプリに問題があります。どんな助けも大歓迎です!
問題の説明: 以下に示すコード スニペットを使用してアプリをビルドすると、ユーザーは 2 ページをスクロールできますが、画像が表示されるのは 1 ページのみです。私の期待は、両方のページに画像が表示されることです。
アプリのレイアウト: アプリは、横向きモードの iPadのみを対象としています。
私のアプリは UIScrollView を使用して、2 つの異なるビュー コントローラー間をスクロールします。各ビュー コントローラーには、そのビューに埋め込まれた 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) を持っているようです。
ご協力いただきありがとうございます。