大きな画像を表示してそれを自由にスクロールさせる方法
今回はあらかじめ imgname.jpg という画像ファイルを Resource に入れておいてそれを表示させてスクロールさせています。

ViewBased のアプリを新規で作成、名前を「Scroll」とする。

ScrollViewController.h

@interface ScrollViewController : UIViewController  {
    IBOutlet UIScrollView *scrollView;
    UIImageView *myImage;
}

@property (nonatomic, retain) UIScrollView *scrollView;
@property (nonatomic, retain) UIImageView *myImage;

@end


IB で UIScrollView を追加して、scrollView と接続する。

e38394e382afe38381e383a3-1

ScrollViewController.m

@implementation ScrollViewController

@synthesize scrollView;
@synthesize myImage;

- (void)viewDidLoad {
    [super viewDidLoad];

    UIImageView *img = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"IMG_0594.jpg"]];
    [self setMyImage:img];

    scrollView.pagingEnabled = NO;
    scrollView.contentSize = CGSizeMake(img.frame.size.width, img.frame.size.height);
    scrollView.showsHorizontalScrollIndicator = NO;
    scrollView.showsVerticalScrollIndicator = NO;
    scrollView.scrollsToTop = YES;
    scrollView.delegate = self;

    [scrollView addSubview: img];
    [img release];
}

- (void)dealloc {
    [super dealloc];
    [myImage release];
    [scrollView release];
}

@end

UIScrollView のプロパティは以下の通り

pagingEnabled
ページ単位でスクロールさせるか(画像等は NO の方がいい)
contentSize
UIScrollView のサイズ
showsHorisontalScrollIndicator
水平方向にスクロールインジケータを表示するかどうか
showVerticalScrollIndicator
垂直方向にスクロールインジケータを表示するかどうか
scrollsToTop
画面の一番上の時計などが表示されている灰色のバーの部分をタップしたときに一番上に戻すかどうか

関連する投稿