jsdw_ios/QuickLocation/UIKit/EmptyDataSet/RefreshStyle.swift

63 lines
1.7 KiB
Swift
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
// RefreshStyle.swift
// GXM-CRM
//
// Created by on 10/11/2017.
// Copyright © 2017 GuoXiaoMei. All rights reserved.
//
import Foundation
import MJRefresh
import RxSwift
import RxCocoa
public enum RefreshStatus: Int {
case invalidData //
case hasMoreData //
case noMoreData //
}
public enum RequestStatus {
case begin
case end
}
/**
*/
public extension UIScrollView {
func refresh(status: RefreshStatus, isEmpty: Bool, shouldForcedDisplay: Bool = false) {
//
dl.emptyDataSet?.update(status: status, isEmpty: isEmpty, shouldForcedDisplay: shouldForcedDisplay)
mj_header?.endRefreshing()
switch status {
case .invalidData: //
mj_footer?.endRefreshing()
case .hasMoreData: //
mj_footer?.endRefreshing()
mj_footer?.isHidden = false
case .noMoreData: //
mj_footer?.endRefreshingWithNoMoreData()
mj_footer?.isHidden = false
}
// footer
if isEmpty {
mj_footer?.isHidden = true
}
}
}
public extension MJRefreshHeader {
func addFeedbackGenerator() {
rx.observeWeakly(MJRefreshState.self, "state").subscribe(onNext: { state in
guard state == .pulling else { return }
if #available(iOS 10.0, *) {
let generator = UIImpactFeedbackGenerator(style: .medium)
generator.impactOccurred()
}
}).disposed(by: rx.disposeBag)
}
}