您的位置:首页 > 其它

使用CATransition实现scrollView的多张页面滚动

2013-12-25 21:21 246 查看
- (void)viewDidLoad
{
[super viewDidLoad];
UIImage *image = [UIImage imageNamed:@"1.jpg"];
_imageView = [[UIImageView alloc] initWithFrame:self.view.bounds];
_imageView.image = image;
[self.view addSubview:_imageView];
//利用for循环创建UIImage,并且添加到数组中
_imageList = [NSMutableArray arrayWithCapacity:8];
for (int i = 1; i <= 8; i++) {
NSString *imageName = [NSString stringWithFormat:@"%d.jpg",i];
UIImage *image = [UIImage imageNamed:imageName];
[_imageList addObject:image];
}
CGFloat w = 80;
//添加pageController ---->此处的page没有做处理
UIPageControl *page = [[UIPageControl alloc] initWithFrame:CGRectMake((self.view.bounds.size.width - w) / 2, 416, w, 20)];
page.numberOfPages = 8;
[self.view addSubview:page];
}

#pragma mark 轻扫手势监听方法
- (IBAction)swipe:(UISwipeGestureRecognizer *)sender
{
//转场动画
CATransition *transition = [[CATransition alloc] init];
transition.type = @"push";
if (UISwipeGestureRecognizerDirectionLeft == sender.direction) {
transition.subtype = kCATransitionFromLeft;
_imageView.tag = (_imageView.tag + 1) % 8;
}else if (UISwipeGestureRecognizerDirectionRight == sender.direction){
transition.subtype = kCATransitionFromRight;
_imageView.tag = (_imageView.tag - 1 + 8) % 8;
}
[_imageView setImage:_imageList[_imageView.tag]];
[_imageView.layer addAnimation:transition forKey:nil];
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: