滚动视图UIScrollView

(一)UIScrollView是所有复杂UI视图的基础。

(二)基本属性

        public var contentOffset: CGPoint // 滚动视图偏移量
        public var contentSize: CGSize // 滚动视图的内容大小
        public var contentInset: UIEdgeInsets // scrollview的contentview的顶点相对于scrollview的位置
        
        public var directionalLockEnabled: Bool // default NO. if YES, try to lock vertical or horizontal scrolling while dragging
        public var bounces: Bool // 是否开启回弹效果
        public var alwaysBounceVertical: Bool // 是否始终水平回弹
        public var alwaysBounceHorizontal: Bool // 是否始终垂直回弹
        public var pagingEnabled: Bool // 是否分页(开启后滑动有自动定位功能)
        public var scrollEnabled: Bool // 是否可以滚动
        public var showsHorizontalScrollIndicator: Bool // 是否显示水平滚动条
        public var showsVerticalScrollIndicator: Bool // 是否显示垂直滚动条
        public var indicatorStyle: UIScrollViewIndicatorStyle // 滚动条的样式(黑色/白色/默认) 
        public var scrollsToTop: Bool // 默认YES,单击上方状态栏(服务商和电池那个地方),会自动回到顶端    

(三)代理方法:在用户对滚动视图进行操作的时候,UIScrollViewDelegate协议定义了许多方法可以对各种状态进行监听。

    public protocol UIScrollViewDelegate : NSObjectProtocol {
    
    @available(iOS 2.0, *)
    optional public func scrollViewDidScroll(scrollView: UIScrollView) // 滚动的时候
    @available(iOS 3.2, *)
    optional public func scrollViewDidZoom(scrollView: UIScrollView) // 滚动视图已经缩放时候

    @available(iOS 2.0, *)
    optional public func scrollViewWillBeginDragging(scrollView: UIScrollView) // 将要开始拖动视图调用
    
    @available(iOS 5.0, *)
    optional public func scrollViewWillEndDragging(scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) // 将要结束拖拽视图调用

    @available(iOS 2.0, *)
    optional public func scrollViewDidEndDragging(scrollView: UIScrollView, willDecelerate decelerate: Bool) // 已经结束拖拽视图
    
    @available(iOS 2.0, *)
    optional public func scrollViewWillBeginDecelerating(scrollView: UIScrollView) // 即将减速的时候
    @available(iOS 2.0, *)
    optional public func scrollViewDidEndDecelerating(scrollView: UIScrollView) // 减速停止的时候
    
    @available(iOS 2.0, *)
    optional public func scrollViewDidEndScrollingAnimation(scrollView: UIScrollView) // 滚动动画结束时候
    
    @available(iOS 2.0, *)
    optional public func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView? // 设置进行缩放的子视图(谁缩放)
    @available(iOS 3.2, *)
    optional public func scrollViewWillBeginZooming(scrollView: UIScrollView, withView view: UIView?) // 将要进行缩放时候
    @available(iOS 2.0, *)
    optional public func scrollViewDidEndZooming(scrollView: UIScrollView, withView view: UIView?, atScale scale: CGFloat) // 完成缩放的时候
    
    @available(iOS 2.0, *)
    optional public func scrollViewShouldScrollToTop(scrollView: UIScrollView) -> Bool // return a yes if you want to scroll to the top. if not defined, assumes YES
    @available(iOS 2.0, *)
    optional public func scrollViewDidScrollToTop(scrollView: UIScrollView) // 点击状态栏回到顶部,仅针对可上下滚动的scrollview 有效
}

(四)设置SCrollView的缩放属性

        scrollView.maximumZoomScale = 2.0
        scrollView.minimumZoomScale = 0.5
        scrollView.bouncesZoom = true // 缩放属性是否回弹 

 

posted @ 2016-09-01 11:02  三更小新  阅读(308)  评论(0编辑  收藏  举报