Files
ScrollingContentViewController/Source/ScrollRectEvent.swift
T

37 lines
1.1 KiB
Swift

//
// ScrollRectEvent.swift
// ScrollingContentViewController
//
// Created by Drew Olbrich on 1/26/19.
// Copyright 2019 Oath Inc.
//
// Licensed under the terms of the MIT License. See the file LICENSE for the full terms.
//
import Foundation
/// An event encapsulating a deferred call to `scrollRectToVisible(_:animated:)`.
internal struct ScrollRectEvent {
enum ContentArea {
/// The content view should be scrolled to make visible a rectangle in the
/// coordinate space of the scroll view's content area.
case scrollViewRect(_ rect: CGRect)
/// The content view should be scrolled to make visible a rectangle in the
/// coordinate space of the bounds of a descendant view of the content view.
/// If `rect` is nil, the bounds of the descendant view is made visible.
case descendantViewRect(_ rect: CGRect?, descendantView: UIView)
}
/// The area of the scroll view's content to make visible.
var contentArea: ContentArea
/// `true` if the scrolling should be animated.
var animated: Bool
/// A margin that should be added to the content area.
var margin: CGFloat
}