UI06_UIScrollView

来源:互联网 发布:知敬畏守规矩学习心得 编辑:程序博客网 时间:2024/04/29 07:37
//先定义宏#define WIDTH self.view.frame.size.width#define HEIGHT self.view.frame.size.height//创建UIScrollViewUIScrollView *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
原创粉丝点击