Search This Blog

Hiển thị các bài đăng có nhãn PZPullToRefresh. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn PZPullToRefresh. Hiển thị tất cả bài đăng

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()
        
    }
    

}