TimelineView

final class TimelineView : UIView
extension TimelineView: UITableViewDataSource
extension TimelineView: UITableViewDelegate
extension TimelineView: NSFetchedResultsControllerDelegate

The TimelineView is a table view that represents a list of transactions sorted by date.

The view listens to the scroll view events to accomplish beautiful animations for the user. If there’s a “pull down” gesture then the numeric keyboard is shown.

  • Different available header modes.

    Declaration

    Swift

    enum HeaderMode
  • Numeric key pad view. Used to apply the transaction amount for new entries.

    Declaration

    Swift

    @IBOutlet
    weak var numericKeyPadView: UIView!
  • Timeline header including the Search button, balance, etc.

    Declaration

    Swift

    @IBOutlet
    weak var timelineHeaderView: UIView!
  • Balance: the total of the expenses filtered by the selected date interval.

    Declaration

    Swift

    @IBOutlet
    weak var totalOfExpensesLabel: UILabel!
  • Balance: the total of the income filtered by the selected date interval.

    Declaration

    Swift

    @IBOutlet
    weak var totalOfIncomeLabel: UILabel!
  • Table view container view.

    Declaration

    Swift

    @IBOutlet
    weak var timelineDataView: UIView!
  • Timeline pan gesture recognizer for key pad open/close animation.

    Declaration

    Swift

    @IBOutlet
    weak var timelinePanGesture: UIPanGestureRecognizer!
  • Timeline header tap gesture recognizer for open/close the key pad.

    Declaration

    Swift

    @IBOutlet
    weak var timelineTapGesture: UITapGestureRecognizer!
  • Transactions table view sorted by date.

    Declaration

    Swift

    @IBOutlet
    weak var expensesTableView: UITableView!
  • Listen to header y coordinate change events in percentage.

    Declaration

    Swift

    let headerNotification: PassthroughSubject<CGFloat, Never>
  • Timeline view model instance.

    Declaration

    Swift

    var viewModel: TimelineViewModel!