Search This Blog

Thứ Hai, 20 tháng 11, 2017

Tạo PZPullToRefresh in IOS

- Tải thư viện PZPullToRefresh nạp vào dự án :

https://drive.google.com/open?id=10GK938CYcW95jswOcd2dNuAH3Ew0U6Z7


- Cài đặt TableView hay ColletionView :

- Cài đặt cho Pull :

func InitPullToRefresh(){
        
        
        if refreshHeaderView == nil {
            
            let view = PZPullToRefreshView(frame: CGRect(x: 0, y: 0 - self.mCollet.bounds.size.height, width: self.mCollet.bounds.size.width, height: self.mCollet.bounds.size.height))
            
            view.delegate = self
            self.mCollet.addSubview(view)
            
            refreshHeaderView = view
        }
    }
    
    func hidePullToRefresh(){
        
        if (self.refreshHeaderView?.isLoading)! {
            let delay = 0.0 * Double(NSEC_PER_SEC)
            let time  = DispatchTime.now() + Double(Int64(delay)) / Double(NSEC_PER_SEC)
            DispatchQueue.main.asyncAfter(deadline: time, execute: {
                print("Complete loading!")
                self.refreshHeaderView?.isLoading = false
              
                self.refreshHeaderView?.refreshScrollViewDataSourceDidFinishedLoading(self.mCollet)
                
                
            })
        }

    }

- Hàm mở rộng :

extension ViewController : UIScrollViewDelegate {
    
    func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {
        
        
        
    }
    func scrollViewDidScroll(_ scrollView: UIScrollView) {
        refreshHeaderView?.refreshScrollViewDidScroll(scrollView)
     
       
    }
    
    func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
        refreshHeaderView?.refreshScrollViewDidEndDragging(scrollView)
    }
}


extension ViewController : PZPullToRefreshDelegate {
    
    func pullToRefreshDidTrigger(_ view: PZPullToRefreshView) -> () {
        
        
        self.refreshHeaderView?.isLoading = true
       
        print( "PullToRefresh1" )
        hidePullToRefresh()
        
    }
    
    func pullToRefreshLastUpdated(_ view: PZPullToRefreshView) -> Date {
        return Date()
        
    }
    

}


Không có nhận xét nào:

Đăng nhận xét