1

画像配列を使用してページ コントロールとスクロール ビューを実装しようとしていますが、何らかの理由で、次のページにスワイプすると画像が移動します。スクロール ビューには画像が大きすぎるようですが、画像を小さくしてもうまくいかないようです。ScrollView が垂直に「スクロール」しないようにする方法はありますか? 以下のコードを参照してください。

ここに画像の説明を入力

SSViewController.h

#import <UIKit/UIKit.h>

@interface SSViewController : UIViewController <UIScrollViewDelegate>

@property (strong, nonatomic) IBOutlet UIScrollView *scrollView;
@property (strong, nonatomic) IBOutlet UIPageControl *pageControl;


@property (nonatomic, strong) NSArray *imageArray;

SSViewController.m

 -(void)viewDidAppear:(BOOL)animated
{

   imageArray = [[NSArray alloc] initWithObjects:@"first.png", @"second.png", nil];

for (int i = 0; i < [imageArray count]; i++) {
    //We'll create an imageView object in every 'page' of our scrollView.
    CGRect frame;
    frame.origin.x = self.scrollView.frame.size.width * i;
    frame.origin.y = 0;
    frame.size = self.scrollView.frame.size;

    UIImageView *imageView = [[UIImageView alloc] initWithFrame:frame];
    imageView.image = [UIImage imageNamed:[imageArray objectAtIndex:i]];
    size:imageView.clipsToBounds = YES;
    imageView.contentMode = UIViewContentModeScaleAspectFill;

    [self.scrollView addSubview:imageView];
}
//Set the content size of our scrollview according to the total width of our imageView objects.
scrollView.contentSize = CGSizeMake(scrollView.frame.size.width * [imageArray count], scrollView.frame.size.height);
}


    - (void)scrollViewDidScroll:(UIScrollView *)sender
    {
        // Update the page when more than 50% of the previous/next page is visible
        CGFloat pageWidth = self.scrollView.frame.size.width;
        int page = floor((self.scrollView.contentOffset.x - pageWidth / 2) / pageWidth) + 1;
        self.pageControl.currentPage = page;
        self.scrollView.contentOffset = CGPointMake(self.scrollView.contentOffset.x, 0);

    }
4

1 に答える 1