1234567891011121314151617181920212223242526272829303132333435363738394041 |
- //
- // Swipeable.swift
- //
- // Created by Jeremy Koch
- // Copyright © 2017 Jeremy Koch. All rights reserved.
- //
- import UIKit
- // MARK: - Internal
- protocol Swipeable {
- var state: SwipeState { get set }
-
- var actionsView: SwipeActionsView? { get set }
-
- var frame: CGRect { get }
-
- var scrollView: UIScrollView? { get }
-
- var indexPath: IndexPath? { get }
-
- var panGestureRecognizer: UIGestureRecognizer { get }
- }
- extension SwipeTableViewCell: Swipeable {}
- extension SwipeCollectionViewCell: Swipeable {}
- enum SwipeState: Int {
- case center = 0
- case left
- case right
- case dragging
- case animatingToCenter
-
- init(orientation: SwipeActionsOrientation) {
- self = orientation == .left ? .left : .right
- }
-
- var isActive: Bool { return self != .center }
- }
|