UI06_UIScrollView

//先定义宏
#define WIDTH self.view.frame.size.width
#define HEIGHT self.view.frame.size.height
//创建UIScrollView
UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, WIDTH, HEIGHT)];
    scrollView.backgroundColor = [UIColor orangeColor];
    [self.view addSubview:scrollView];
    [scrollView release];
//非常重要的属性:只有设置它才能滚动 那么它究竟是谁呢?
//可以滑动的范围:
    scrollView.contentSize = CGSizeMake(9*WIDTH, 0);


//通过循环创建对象,然后通过scrollview上显示
    for (NSInteger i = 1; i< 8; i++) {
        NSString *imageName = [NSString stringWithFormat:@"h%ld.jpeg",i];
        UIImage *image = [UIImage imageNamed:imageName];
        UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake((i)*WIDTH, 0, WIDTH, HEIGHT)];
        imageView.image = image;
        [scrollView addSubview:imageView];
        [imageView release];
}

 //一页一页的滑动(按页滑动)
    scrollView.pagingEnabled = YES;
    //边界回弹取消
    scrollView.bounces = NO;
    //设置水平和垂直的滚动条不显示
    scrollView.showsHorizontalScrollIndicator = NO;
    scrollView.showsVerticalScrollIndicator = NO;

//第二个非常重要的属性
    //偏移量
    scrollView.contentOffset = CGPointMake(WIDTH, 0);

//给scrollView加一个方法
[NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(changeImage) userInfo:nil repeats:YES];

-(void)changeImage{
    //1.先找到对应的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);
    }
}

//签协议
@interface RootViewController ()<UIScrollViewDelegate>
scrollView.delegate = self;
//这个协议方法只要是一碰它就会触发
-(void)scrollViewDidScroll:(UIScrollView *)scrollView{
    NSLog(@"1222");
}

// 开始拖拽的时候会触发这个方法
-(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{

    NSLog(@"1111");
}
//当结束拖拽的时候会触发这个方法
-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{
    NSLog(@"222");
}
//滚动彻底结束的时候会触发
//定义一个第一张来接最后一张,起过度作用
    UIImageView *firstImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, WIDTH, HEIGHT)];
    firstImageView.image = [UIImage imageNamed:@"h7.jpeg"];
    [scrollView addSubview:firstImageView];
    [firstImageView release];
 //定义一个最后一张承接第一张,起过度作用   
    UIImageView *lastImageView = [[UIImageView alloc] initWithFrame:CGRectMake(8*WIDTH, 0, WIDTH, HEIGHT)];
    lastImageView.image = [UIImage imageNamed:@"h1.jpeg"];
    [scrollView addSubview:lastImageView];
    [lastImageView release];
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
    NSLog(@"彻底结束了");
    //可以循环滑动
    if (scrollView.contentOffset.x == 8*WIDTH) {
        scrollView.contentOffset = CGPointMake(WIDTH, 0);
    }
    else if (scrollView.contentOffset.x == 0){
        scrollView.contentOffset = CGPointMake(7*WIDTH, 0);

    }
 }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值