美文网首页
滚动视图的重要属性及方法

滚动视图的重要属性及方法

作者: 乡野村夫汉 | 来源:发表于2016-09-06 00:14 被阅读0次

    scrollView的基本属性和方法

    核心属性

    • 1.scrollView的内容大小
      == contentSize==
    • 2.内容的偏移量
      == contentOFSet==
    • 3.内容和scrollView上左下右的边距
      == contentInset==
    • 4.设置当向一个方向滚动的时候,是否锁住向另一个方向的滚动(默认是false)
      == directionLockEnabled==
    • 5.设置是否有反弹效果(默认是true)
      == bounces==
    • 6.设置是否可以分页(默认是false -> 每次滚动的距离就是滑动的距离;true -> 每次滚动scrollView的frame的距离)
      == pagingEnabled==
    • 7.设置是否可以滚动
      == scrollEnabled==
    • 8.设置是否显示滚动条
      == showsVerticalScrollIndicator== //水平方向
      == showsHorisontalScrollIndicator== //垂直方向
    • 9.设置滚动条到scrollView的边距(只有下和右起作用)
      == scrollIndicatorInsets==
    • 10.设置滚动条的风格
      == indicatorStyle==
    • 11.设置点击状态栏时是否可以自动滚动到顶部(默认是true)
      == scrollsToTop==
    • 12.缩放相关(默认都是1)
    • 12.1设置最大缩放倍数
      == maximumZoomScale==
    • 12.2设置最小缩放倍数
      == minimumZoomScale==
    • 13.让scrollView滚动到指定范围
      == scrollRectToVisible==
    • 14.代理属性

    协议方法

    //========滚动相关=======
    //!!!1.在滚动视图滚动的时候实时调用
    func scrollViewDidScroll(scrollView: UIScrollView){
    
        print("正在滚动")
    }
    //!!!2.将要开始拖动scrollView的时候会调用这个方法(将要开始滚动的时候)
    func scrollViewWillBeginDragging(scrollView: UIScrollView){
        
        print("将要开始拖动")
    }
    
    //!!!4.已经结束减速的时候调用(已经停止滚动)
    func scrollViewDidEndDecelerating(scrollView: UIScrollView){
    
        print("已经停止滚动")
    }
    
    //3.将要停止拖动的时候会调用这个方法
    //参数2:停止时在x和y方向的加速度
    //参数3:预测停止滚动时的偏移量
    func scrollViewWillEndDragging(scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>){
        print(velocity)
        print("将要停止拖动")
    }
    
    //5.已经停止拖动的时候会调用这个方法
    //参数2:是否将要减速
    func scrollViewDidEndDragging(scrollView: UIScrollView, willDecelerate decelerate: Bool){
    
        if decelerate {
            print("会减速")
        }else{
        
            print("不会减速")
        }
        print("已经停止拖动")
    }
    
    //6.停止滚动动画的时候调用(当通过带动画的效果设置偏移量的时候才会有效)
    //scrollView.setContentOffset(CGPointMake(200, 200), animated: true)
    //通过手拖动让scrollView滚动和这个方法没有任何关系
    func scrollViewDidEndScrollingAnimation(scrollView: UIScrollView){
        
        print("停止动画")
        
    }
    
    //7.已经滚动到顶部的时候会调用这个方法(点状态栏回到顶部的时候才有效)
    func scrollViewDidScrollToTop(scrollView: UIScrollView){
    
        print("滚动到顶部")
    }
    
    
    //=======缩放相关======
    //告诉scrollView缩放对象(对哪个视图进行缩放,一般是对scrollView上imageView进行缩放)
    func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView?{
    
        //拿到imageView
        return scrollView.viewWithTag(100)
    }
    
    //正在缩放的时候,会实时的调用这个方法
    func scrollViewDidZoom(scrollView: UIScrollView){
    
        print("正在缩放")
        
    }
    
    
    

    PageControl

    核心属性

    • 设置总页数
      == numberOfPage==
    • 设置当前页
      == currentPage==
    • 设置小圆点颜色
      == pageIndicatorTintColor== //普通圆点颜色
      == currentPageIndicatorTintColor== //当前圆点颜色
    • 添加事件
      == addTarge== // 第三个参数通常为ValueChanged

    tableView

    核心属性及方法

    • 设置分割线
      == separatorColor==
      == separatorInset==
      == sepatatorStyle==
    • 设置header
      == tableHeaderView==
    • 设置headerView高度
      == sectionHeaderHeight==
    • 设置Footer
      == tableFooterView==
    • 设置FooterView高度
      == tableFooterView==
    • 设置背景图片
      == backgroundView==

    cell核心属性

    • 设置cell主标题
      == textLable.text==
    • 设置cell内容(副标题)
      == detailTextLable.text==
    • 设置cell左边的imageView
      == cell.imageView.imge==
    • cell右边按钮样式
      == axxessoryType==//通常设置为箭头形式:== .DisclusureIndicator==
    • 设置cell背景颜色
      == backgroundColor==
    • 设置cell被选中的时候的样式
      == selectionStyle==

    代理方法

    //滚动的时候实时调用
    func scrollViewDidScroll(scrollView: UIScrollView) {
    }
    //cell被选中
    func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    }
    //设置cell高度
    func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
    }
    // 每个组上面部分空白的高度
    func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
    }
    //每个组下面部分的高度
    func tableView(tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
    }
    
    

    数据源方法

    //设置分组数
    func numberOfSectionsInTableView(tableView: UITableView) -> Int {
        return 分组数
    }
    //设置每组的cell个数
    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int{
        return 每组的cell个数
    }
    //创建cell
    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell{
        //固定写法
        //第一步,在复用池中查看有没有符合要求的cell
        var cell = tableView.dequeueReusableCellWithIdentifier("cell")
        //如果没有,就创建一个cell,并且给cell一个标识符,以便用于下一次在复用池中查找
        if cell == nil {
            cell = UITableViewCell.init(style: .Subtitle, reuseIdentifier: "cell")
        }
        //设置cell属性和样式
        ==code==
        return cell!
    }
    //设置每个组的标题
    func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
        let a = "✰"
        let str = "\(a)abcdefghijklmnopqrstuvwxyz"
        let c = str.characters[str.startIndex.advancedBy(section)]
        return "\(c)"
    }
    
    
    
    //设置右边用于定位的字母
    func sectionIndexTitlesForTableView(tableView: UITableView) -> [String]? {
        var strArray: [String] = []
        strArray = ["A", "B", "C", "D", "E","F", "G", "H"..."z"]
        return strArray
    }
    
    

    相关文章

      网友评论

          本文标题:滚动视图的重要属性及方法

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