Move a view when scrolling in UITableView

前端 未结 9 1952
孤街浪徒
孤街浪徒 2020-12-04 11:42

I have a UIView with a UITableView below it:

\"enter

9条回答
  •  借酒劲吻你
    2020-12-04 12:02

    To create like this animation,

    lazy var redView: UIView = {
    
        let view = UIView(frame: CGRect(x: 0, y: 0, width: 
        self.view.frame.width, height: 100))
        view.backgroundColor = .red
        return view
    }()
    
    var pageMenu: CAPSPageMenu?
    
    override func viewDidLoad() {
         super.viewDidLoad()
         self.view.addSubview(redView)
    
        let rect = CGRect(x: 0, y: self.redView.frame.maxY, width: self.view.bounds.size.width, height:(self.view.bounds.size.height - (self.redView.frame.maxY)))
        pageMenu?.view.frame = rect
        self.view.addSubview(pageMenu!.view)
    
      }
    
    override func scrollViewDidScroll(_ scrollView: UIScrollView) {
      let offset = scrollView.contentOffset.y
    
        if(offset > 100){
            self.redView.frame = CGRect(x: 0, y: 0, width: self.view.bounds.size.width, height: 0)
        }else{
            self.redView.frame = CGRect(x: 0, y: 0, width: self.view.bounds.size.width, height: 100 - offset)
        }
    
        let rect = CGRect(x: 0, y: self.redView.frame.maxY, width: self.view.bounds.size.width, height:(self.view.bounds.size.height - (self.redView.frame.maxY)))
        pageMenu?.view.frame = rect
    }
    

    you must change pageMenu.view with your collectionView/tableView

提交回复
热议问题