* files reorganization (#432) * fix podspec * only include swift files * Fix broken readme paths (#433) * update links * fix french link * split skeleton debug to public and internal methods (#434) * Add build phase to execute SwiftLint (#435) * update tvOS tests * Refactor Extensions folder (#436) * Reorganize SkeletonAppearance (#437) * reorganize helpers and builders folders (#438) * Refactor flow and multilines (#439) * Reorganize collections folder (#440) * reorganize collections folder * update podspec * Refactor SkeletonView facade (#441) * reorganize collections folder * update podspec * refactor skeletonview facade * fix conflict * update iOS example * fix github workflows * update tvOS example project build settings
51 lines
1.3 KiB
Swift
51 lines
1.3 KiB
Swift
//
|
|
// CollectionSkeleton.swift
|
|
// SkeletonView-iOS
|
|
//
|
|
// Created by Juanpe Catalán on 02/11/2017.
|
|
// Copyright © 2017 SkeletonView. All rights reserved.
|
|
//
|
|
|
|
import UIKit
|
|
|
|
enum CollectionAssociatedKeys {
|
|
static var dummyDataSource = "dummyDataSource"
|
|
static var dummyDelegate = "dummyDelegate"
|
|
}
|
|
|
|
protocol CollectionSkeleton {
|
|
|
|
var skeletonDataSource: SkeletonCollectionDataSource? { get set }
|
|
var skeletonDelegate: SkeletonCollectionDelegate? { get set }
|
|
var estimatedNumberOfRows: Int { get }
|
|
|
|
func addDummyDataSource()
|
|
func updateDummyDataSource()
|
|
func removeDummyDataSource(reloadAfter: Bool)
|
|
func disableUserInteraction()
|
|
func enableUserInteraction()
|
|
|
|
}
|
|
|
|
extension CollectionSkeleton where Self: UIScrollView {
|
|
|
|
var estimatedNumberOfRows: Int { return 0 }
|
|
func addDummyDataSource() {}
|
|
func removeDummyDataSource(reloadAfter: Bool) {}
|
|
|
|
func disableUserInteraction() {
|
|
if isUserInteractionDisabledWhenSkeletonIsActive {
|
|
isUserInteractionEnabled = false
|
|
isScrollEnabled = false
|
|
}
|
|
}
|
|
|
|
func enableUserInteraction() {
|
|
if isUserInteractionDisabledWhenSkeletonIsActive {
|
|
isUserInteractionEnabled = true
|
|
isScrollEnabled = true
|
|
}
|
|
}
|
|
|
|
}
|