UIScrollView

UIScrollView的创建

//UIScrollView继承UIView,可以通过创建view的四步对其进行创建
UIScrollView *scrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height)];
scrollView.backgroundColor = [UIColor yellowColor];
[self.view addSubview:scrollView];
[scrollView release];

UIScrollView的重要属性

//重要的属性,这个属性可以让scrollview滚动起来
//contentsize设置scrollView的滚动范围
scrollView.contentSize = CGSizeMake(WIDTH * 9, HEIGHT * 1);    
//按页来进行滚动
scrollView.pagingEnabled = YES;    
for (NSInteger i = 0; i < 7; i++) {
//拼接图片的名字
     NSString *picName = [NSString stringWithFormat:@"angry_%02ld.jpg",i];
//通过图片名来创建UIImageView
     UIImageView *imageView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:picName]];
//将图片放在scrollView的相对应的位置根据偏移量
imageView.frame = CGRectMake(WIDTH * (i + 1), 0, WIDTH, HEIGHT);
//把imageView放到scrollview上
[scrollView addSubview:imageView];
//释放imageView
[imageView release];
}
//创建数组的最后一张图片,将这张图片放在数组第一位,使图片播放时看起来连贯
UIImageView *imageViewLast = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"angry_06.jpg"]];
imageViewLast.frame = CGRectMake(0 * WIDTH, 0, WIDTH, HEIGHT);
[scrollView addSubview:imageViewLast];
//将数组的第一张图片放在创建之后放在数组末尾,使图片播放时看起来连贯
UIImageView *imageViewFirst = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"angry_00.jpg"]];
imageViewFirst.frame = CGRectMake(8 * WIDTH, 0, WIDTH, HEIGHT);
[scrollView addSubview:imageViewFirst];
//偏移量,使每次播放的效果是每张图片,只偏移宽度,不偏移高度,如果想使UIScrollView上下滚动,可以调整高度的偏移
scrollView.contentOffset = CGPointMake(WIDTH, 0);
//关掉边界回弹的效果,默认是YES
scrollView.bounces = NO;
//水平或垂直的滚动条会作为两子视图添加到scrollView的子视图里,如果把滚动条效果关闭,这两个视图就不会添加到scrollView的子视图里
NSLog(@"%@",scrollView.subviews);
//关闭滚动条(分别是垂直的和水平的)
scrollView.showsHorizontalScrollIndicator = NO;
scrollView.showsVerticalScrollIndicator = NO;    
//设置代理人
scrollView.delegate = self;
//设置tag值
scrollView.tag = 1000;    
//创建一个计时器
[NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(changeImage) userInfo:nil repeats:YES];

//NSTimer的方法
-(void)changeImage{
//通过tag值找scrollView
UIScrollView *scrollView = (UIScrollView *)[self.view viewWithTag:1000];
//设置每次的偏移量,并且添加特效
[scrollView setContentOffset:CGPointMake(scrollView.contentOffset.x + WIDTH, 0) animated:YES];
//当偏移量到达最后一张图片的位置时,将偏移量归为最初
if (scrollView.contentOffset.x == 8 * WIDTH) {
    scrollView.contentOffset = CGPointMake(WIDTH, 0);
    }
}

#pragma mark 只要滚动就会触发的协议方法
-(void)scrollViewDidScroll:(UIScrollView *)scrollView{

}
#pragma mark 当scrollView减速停止时会触发的协议方法
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
//这是针对使用者滑动图片时相应的方法 
if (scrollView.contentOffset.x == WIDTH * 8) {
   scrollView.contentOffset = CGPointMake(WIDTH,0 );
   }

if (scrollView.contentOffset.x == 0) {
   scrollView.contentOffset = CGPointMake(WIDTH * 6, 0);
   }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值