#import "pageControlViewController.h"
@interface pageControlViewController ()
@end
@implementation pageControlViewController
@synthesize scrollView;
@synthesize pageControl;
const CGFloat kScrollObjHeight = 130.0;//(※1)1pageの高さ
const CGFloat kScrollObjWidth = 320.0;//(※2)1pageの幅
const NSUInteger kNumImages = 3; //(※3)総page数
//ScrollViewの設定
- (void)layoutScrollImages
{
UIImageView *view = nil;
NSArray *subviews = [scrollView subviews];
CGFloat curXLoc = 0;
for (view in subviews)
{
if ([view isKindOfClass:[UIImageView class]] && view.tag > 0)
{
CGRect frame = view.frame;
frame.origin = CGPointMake(curXLoc, 0);
view.frame = frame;
curXLoc += (kScrollObjWidth);
}
}
//スクロールの総範囲
[scrollView setContentSize:CGSizeMake((kNumImages * kScrollObjWidth), kScrollObjHeight)];
}
//pageControl
-(void)scrollViewDidScroll:(UIScrollView *)sender{
CGFloat pageWidth = scrollView.frame.size.width;
if (fmodf(scrollView.contentOffset.x, pageWidth)==0.0) {
pageControl.currentPage = scrollView.contentOffset.x/pageWidth;
}
}
//画像のサイズ取得とScrollViewへ追加
- (void)viewDidLoad {
NSUInteger i;
for (i = 1; i <= kNumImages; i++)
{
NSString *imageName = [NSString stringWithFormat:@"image%d.jpg", i];
UIImage *image = [UIImage imageNamed:imageName];
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
CGRect rect = imageView.frame;
rect.size.height = kScrollObjHeight;
rect.size.width = kScrollObjWidth;
imageView.frame = rect;
imageView.tag = i;
[scrollView addSubview:imageView];
}
[self layoutScrollImages];
[self.view addSubview:pageControl];
}
//…その他メソッドなど
@end
コメント
コメントを投稿