NACCTabBaseViewController

class NACCTabBaseViewController : NACCBaseViewController
extension NACCTabBaseViewController: LGV_UICleantimeImageViewObserverProtocol
extension NACCTabBaseViewController: UIScrollViewDelegate

This screen is used for the three cleantime displays.

LGV_UICleantimeImageViewObserver Conformance (Need to be in the main declaration)

  • This is a UUID that is used internally

    Declaration

    Swift

    var uuid: UUID
  • This stores our subscriptions.

    Declaration

    Swift

    var subscriptions: [RVS_GeneralObservableProtocol]

Internal Instance IBOutlet Properties

  • The scroller that holds the display.

    Declaration

    Swift

    @IBOutlet
    var scrollView: UIScrollView?
  • This is the cleantime keytag or medallion image.

    Declaration

    Swift

    @IBOutlet
    var cleantime: LGV_UICleantimeImageViewBase?
  • This will be a “busy throbber,” while the images are being composited.

    Declaration

    Swift

    @IBOutlet
    weak var throbber: UIActivityIndicatorView?

Private Instance Methods

  • This will show a “busy throbber,” while the images are being composited.

    Declaration

    Swift

    private func _showThrobber()
  • This will hide the “busy throbber,” after the images were composited.

    Declaration

    Swift

    private func _hideThrobber()

Base Class Overrides

  • Called when the view hierarchy has been completed.

    Declaration

    Swift

    override func viewDidLoad()
  • Called just before the view appears. We use it to set the date picker date.

    Declaration

    Swift

    override func viewWillAppear(_ inIsAnimated: Bool)

    Parameters

    inIsAnimated

    True, if the appearance is to be animated.

  • This was inspired by this SO answer.

    We intercept a transition from portrait to landscape, and hide the navbar and tab bar, for phones. This gives the entire screen to the display. If the transition is going the other way, this ensures that the tab and nav bars are shown. This will only happen, when starting from portrait, and going into landscape. Otherwise, the bars are always shown.

    Declaration

    Swift

    override func willTransition(to inNewCollection: UITraitCollection, with inCoordinator: UIViewControllerTransitionCoordinator)

    Parameters

    to

    The trait collection at the end of the transition.

    with

    The object that is coordinating the transition.

LGV_UICleantimeImageViewObserverProtocol Conformance

  • This is called when the images have completed rendering. We use this to find a top.

    Declaration

    Swift

    func renderingComplete(view inImageView: LGV_UICleantimeImageViewBase)

    Parameters

    view

    The completed UIImageView

UIScrollViewDelegate Conformance

  • This simply sets the image view as a pinch to zoom target.

    Declaration

    Swift

    func viewForZooming(in: UIScrollView) -> UIView?

    Parameters

    in

    Ignored

    Return Value

    The cleantime view.