//
|
// EmptyDataSetDelegate.swift
|
// EmptyDataSet-Swift
|
//
|
// Created by YZF on 27/6/17.
|
// Copyright © 2017年 Xiaoye. All rights reserved.
|
//
|
|
import Foundation
|
import UIKit
|
|
|
/// The object that acts as the delegate of the empty datasets.
|
/// @discussion The delegate can adopt the DZNEmptyDataSetDelegate protocol. The delegate is not retained. All delegate methods are optional.
|
///
|
/// @discussion All delegate methods are optional. Use this delegate for receiving action callbacks.
|
public protocol EmptyDataSetDelegate {
|
|
/// Asks the delegate to know if the empty dataset should fade in when displayed. Default is true.
|
///
|
/// - Parameter scrollView: A scrollView subclass object informing the delegate.
|
/// - Returns: true if the empty dataset should fade in.
|
func emptyDataSetShouldFadeIn(_ scrollView: UIScrollView) -> Bool
|
|
/// Asks the delegate to know if the empty dataset should still be displayed when the amount of items is more than 0. Default is false.
|
///
|
/// - Parameter scrollView: A scrollView subclass object informing the delegate.
|
/// - Returns: true if empty dataset should be forced to display
|
func emptyDataSetShouldBeForcedToDisplay(_ scrollView: UIScrollView) -> Bool
|
|
/// Asks the delegate to know if the empty dataset should be rendered and displayed. Default is true.
|
///
|
/// - Parameter scrollView: A scrollView subclass object informing the delegate.
|
/// - Returns: true if the empty dataset should show.
|
func emptyDataSetShouldDisplay(_ scrollView: UIScrollView) -> Bool
|
|
/// Asks the delegate for touch permission. Default is true.
|
///
|
/// - Parameter scrollView: A scrollView subclass object informing the delegate.
|
/// - Returns: true if the empty dataset receives touch gestures.
|
func emptyDataSetShouldAllowTouch(_ scrollView: UIScrollView) -> Bool
|
|
/// Asks the delegate for scroll permission. Default is false.
|
///
|
/// - Parameter scrollView: A scrollView subclass object informing the delegate.
|
/// - Returns: true if the empty dataset is allowed to be scrollable.
|
func emptyDataSetShouldAllowScroll(_ scrollView: UIScrollView) -> Bool
|
|
/// Asks the delegate for image view animation permission. Default is false.
|
/// Make sure to return a valid CAAnimation object from imageAnimationForEmptyDataSet:
|
///
|
/// - Parameter scrollView: A scrollView subclass object informing the delegate.
|
/// - Returns: true if the empty dataset is allowed to animate
|
func emptyDataSetShouldAnimateImageView(_ scrollView: UIScrollView) -> Bool
|
|
/// Tells the delegate that the empty dataset view was tapped.
|
/// Use this method either to resignFirstResponder of a textfield or searchBar.
|
///
|
/// - Parameters:
|
/// - scrollView: scrollView A scrollView subclass informing the delegate.
|
/// - view: the view tapped by the user
|
func emptyDataSet(_ scrollView: UIScrollView, didTapView view: UIView)
|
|
/// Tells the delegate that the action button was tapped.
|
///
|
/// - Parameters:
|
/// - scrollView: A scrollView subclass informing the delegate.
|
/// - button: the button tapped by the user
|
func emptyDataSet(_ scrollView: UIScrollView, didTapButton button: UIButton)
|
|
/// Tells the delegate that the empty data set will appear.
|
///
|
/// - Parameter scrollView: A scrollView subclass informing the delegate.
|
func emptyDataSetWillAppear(_ scrollView: UIScrollView)
|
|
/// Tells the delegate that the empty data set did appear.
|
///
|
/// - Parameter scrollView: A scrollView subclass informing the delegate.
|
func emptyDataSetDidAppear(_ scrollView: UIScrollView)
|
|
/// Tells the delegate that the empty data set will disappear.
|
///
|
/// - Parameter scrollView: A scrollView subclass informing the delegate.
|
func emptyDataSetWillDisappear(_ scrollView: UIScrollView)
|
|
/// Tells the delegate that the empty data set did disappear.
|
///
|
/// - Parameter scrollView: A scrollView subclass informing the delegate.
|
func emptyDataSetDidDisappear(_ scrollView: UIScrollView)
|
|
}
|
|
public extension EmptyDataSetDelegate {
|
|
func emptyDataSetShouldFadeIn(_ scrollView: UIScrollView) -> Bool {
|
return true
|
}
|
|
func emptyDataSetShouldBeForcedToDisplay(_ scrollView: UIScrollView) -> Bool {
|
return false
|
}
|
|
func emptyDataSetShouldDisplay(_ scrollView: UIScrollView) -> Bool {
|
return true
|
}
|
|
func emptyDataSetShouldAllowTouch(_ scrollView: UIScrollView) -> Bool {
|
return true
|
}
|
|
func emptyDataSetShouldAllowScroll(_ scrollView: UIScrollView) -> Bool {
|
return false
|
}
|
|
func emptyDataSetShouldAnimateImageView(_ scrollView: UIScrollView) -> Bool {
|
return true
|
}
|
|
func emptyDataSet(_ scrollView: UIScrollView, didTapView view: UIView) {
|
|
}
|
|
func emptyDataSet(_ scrollView: UIScrollView, didTapButton button: UIButton) {
|
|
}
|
|
func emptyDataSetWillAppear(_ scrollView: UIScrollView) {
|
|
}
|
|
func emptyDataSetDidAppear(_ scrollView: UIScrollView) {
|
|
}
|
|
func emptyDataSetWillDisappear(_ scrollView: UIScrollView) {
|
|
}
|
|
func emptyDataSetDidDisappear(_ scrollView: UIScrollView) {
|
|
}
|
|
}
|