美文网首页
cell下拉顶部拉伸

cell下拉顶部拉伸

作者: iOS分享 | 来源:发表于2019-07-22 13:08 被阅读0次

    真对一般tableView下拉整个tableviewcell一起向下移动进行修改。
    效果图:



    首先创建一个headerView文件和XIB
    headerView.swift

     import UIKit
    import IBAnimatable
    class NoLoginHeaderView: UIView {
    //背景图片
        @IBOutlet weak var baImageView: UIImageView!
    //创建注册View的类方法
        class func headerView()->NoLoginHeaderView{
            print(self)
            return Bundle.main.loadNibNamed("\(self)", owner: nil, options: nil)?.last as! NoLoginHeaderView
        }
    }
    
    

    headerView.xib:


    要实现背景图占领整个上半部分,所以将图片向上的约束设置为-20
    同时在tableViewController的Viewdidload()中添加以下代码

    //实例化headerView
     fileprivate lazy var headerView:NoLoginHeaderView = {
            let headerView = NoLoginHeaderView.headerView()
            return headerView
        }()
    //设置tableView的headerView
        tableView.tableHeaderView = headerView
    //设置状态栏的颜色
        override var preferredStatusBarStyle: UIStatusBarStyle{
            return .lightContent
        }
    

    添加以下方法对向下拉进行代理

    override func scrollViewDidScroll(_ scrollView: UIScrollView) {
    //偏移量
           let offsetY = scrollView.contentOffset.y
    //判断是否向下划动
           if offsetY < 0 {
    //headerView高度位260,因为图片向上位-20,所以headerView设置位280
               let kMyHeaderViewHeight = 280
               let totalOffset = kMyHeaderViewHeight + abs(offsetY)
               let f = totalOffset / kMyHeaderViewHeight
               headerView.baImageView.frame = CGRect(x:-screenWidth*(f-1)*0.5, y: offsetY, width: screenWidth*f, height: totalOffset)
           }
       }
    

    相关文章

      网友评论

          本文标题:cell下拉顶部拉伸

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