1

アプリに問題があります。どんな助けも大歓迎です!

問題の説明: 以下に示すコード スニペットを使用してアプリをビルドすると、ユーザーは 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 のメソッド setViewPositionToHorizo​​ntalPage は次のようになります。

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

透明な画像を使用すると、両方のビューが同じ位置に配置されているように見えます。フレームをログに記録すると、どちらも正しい値 (0,0, 768, 1024) と (768, 0, 768, 1024) を持っているようです。

ご協力いただきありがとうございます。

4

0 に答える 0