美文网首页
UIScrollView

UIScrollView

作者: 满大街都是大卡车 | 来源:发表于2016-09-29 11:04 被阅读0次
    常见属性:
    @property (nonatomic) CGPoint contentOffset;// 表示UIScrollView的滚动位置 
    @property (nonatomic) CGSize contentSize;// 表示UIScrollView内容的尺寸,即滚动范围
    @property (nonatomic) UIEdgeInsets contentInset;// 能够在UIScrollView四周增加额外的边框
    
    self.scrollView.contentOffset = CGPointMake(CGFloat x, CGFloat y);
    self.scrollView.contentSize = CGSizeMake(CGFloat width, CGFloat height);
    self.scrollView.contentInset = UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, CGFloat right);
    
    其他属性:
    @property (nonatomic) BOOL bounces;// 设置是否需要弹簧效果
    @property (nonatomic, getter = isDcrollEnabled) BOOL scrollEnabled;// 设置是否能滚动
    @property (nonatomic) BOOL showHorizontalScrollIndicator;// 是否显示水平滚动条
    @property (nonatomic) BOOL showVerticalScrollIndicator;// 是否显示垂直滚动条
    

    UIScrollView代理(delegate)

    当用户开始拖拽,调用delegate的scrollViewWillBeginDragging:方法;
    当用户正在滚动,调用delegate的scrollViewDidScroll:方法;
    当用户停止拖拽,调用delegate的scrollViewDidEndDragging:willDecelerate:方法;
    当用户使用捏合手势时调用delegate的viewForZoomingInScrollView:方法,其返回的控件就是将要缩放的控件;
    当用户正在捏合,调用delegate的scrollViewDidZoom:方法。

    成为UIScrollView的delegate条件:

    UIScrollView将delegate需要实现的方法都定义在了UIScrollViewDelegate协议中,因此想要成为UIScrollView的delegate,必需遵守UIScrollViewDelegate协议。

    实现代理的方法:
    通过代码:self.scrollView.delegate = self; 通过storyboard右击scrollView,从delegate拖拽到ViewController
    让控制器实现代理协议:@interface ViewController () <UIScrollViewDelegate>
    实现协议中定义的方法。


    UIScrollView的缩放

    设置最大/最小缩放值:
    self.scrollView.maximumZoomScale = 2.0; // 最大放大值
    self.scrollView.minimumZoomScale = 0.5; //  最小缩小值
    
    调用delegate的方法:
    viewForZoomingInScrollView:
    

    UIScrollView的分页

    // 根据scrollView的宽度分页
    self.scrollView.pagingEnabled = YES;
    
    UIPageControl
    self.pageControl.numberOfPages = ;// 设置pageControl总页数
    self.pageControl.currentPage = ;// 设置当前页小圆点0,1,2,...
    

    然后通过UIScrollView的代理方法监听滚动位置情况,利用scrollView.contentOffset.x的值,从而改变pageControl.currentPage的值来小圆点的显示。

    注意:UIPageControl支持用户点击哪边向哪边切换

    相关文章

      网友评论

          本文标题:UIScrollView

          本文链接:https://www.haomeiwen.com/subject/txikyttx.html