UIScrollView的简单用法总结

- (void)viewDidLoad {

    [super viewDidLoad];

    self.view.backgroundColor = [UIColor yellowColor];

    // Do any additional setup after loading the view.

    

    //UIScrollView  的使用

    UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(20, 20, 335, 607)];

    

    //指定一个滚动的范围

    

    //写成0, 或者是小于自己设定的范围, 可以控制滚动的形式(上下/左右)

    scrollView.contentSize = CGSizeMake(1000, 1000);

    //图片的大小, 恢复原状

    scrollView.zoomScale = 1;

    

    //scrollView滚动到的位置

    //本质上, scrollView的左上角的点, 相对于自己坐标系的位置

    // scrollView.contentOffset = CGPointMake(100, 100);


    //按页翻, 按照scrollView的大小, 一翻翻一页

    scrollView.pagingEnabled = YES;

    

    //控制scrollView是不是可以滚动

    scrollView.scrollEnabled = YES;

    

    //返回顶部, 点击状态栏, 返回顶部

    scrollView.scrollsToTop = YES;

    

    //关闭边缘的弹动效果, 不能弹出边缘, 下拉刷新, 一定要设置为YES

    //scrollView.bounces = NO;

    

    //显示/关闭  横向滚动条

    //scrollView.showsHorizontalScrollIndicator = NO;

    //显示/关闭  纵向滚动条

    //scrollView.showsVerticalScrollIndicator = NO;

    scrollView.delegate = self;

    

    //scrollView的方法缩小

    //1, 设置scrollView的缩放范围

    scrollView.maximumZoomScale = 2;

    scrollView.minimumZoomScale = 0.5;

    

    scrollView.backgroundColor = [UIColor purpleColor];

    [self.view addSubview:scrollView];

    [scrollView release];

    

    //添加一个图片

    UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 335, 300)];

    imageView.image = [UIImage imageNamed:@"3.jpg"];

    [scrollView addSubview:imageView];

    [imageView release];

    

    //指示当前在第几页

    UIPageControl *pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(20, 637, 335, 30)];

    pageControl.backgroundColor = [UIColor redColor];

    //设置总共有多少页

    pageControl.numberOfPages = 10;

    //当前的page的颜色(就是当前的点的颜色)

    pageControl.currentPageIndicatorTintColor = [UIColor cyanColor];

    //没选中点的颜色

    pageControl.pageIndicatorTintColor = [UIColor yellowColor];

    [self.view addSubview:pageControl];

    [pageControl release];

    //pageCrotrol的事件绑定是valueChanged

    [pageControl addTarget:self action:@selector(pageAction:) forControlEvents:UIControlEventValueChanged];

    

    

    

}

- (void)pageAction:(UIPageControl *)pageControl

{

    NSLog(@"换页");

    NSLog(@"%ld", pageControl.currentPage);

}


//系统协议的标记(写到协议方法的时候, 进行标记)

#pragma mark - scrollView 的协议方法

- (void)scrollViewDidScroll:(UIScrollView *)scrollView                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

{

    //判断偏移量

    NSLog(@"%@",NSStringFromCGPoint(scrollView.contentOffset));

    NSLog(@"偏移值改变");

}

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView

{

    NSLog(@"scrollView开始拖拽的时候");

}

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate

{

    //当结束拖拽的时候, 滚动还会进行一会

    NSLog(@"scrollView已经结束拖拽的时候");

}

- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView

{

    //将要开始减速

    NSLog(@"scrollView将要开始减速");

}

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView

{

    //已经结束减速

    NSLog(@"scrollView已经结束减速");

}


- (UIView*)viewForZoomingInScrollView:(UIScrollView *)scrollView

{

    //scrollView方法缩小(只能指定一个)

    //2. 指定一个scrollView的子视图, 随着scrollView缩放

    //获取第一个子视图

    UIView *view = [scrollView.subviews firstObject];

    

    return view;

    

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值