// // MFScrollingViewController.h // MobileFirstFramework // // Created by Pfeil, Scott Robert on 11/21/17. // Copyright © 2017 Verizon Wireless. All rights reserved. // #import @interface MFScrollingViewController : MFViewController @property (nullable, weak, nonatomic) IBOutlet UIScrollView *scrollView; @property (nullable, weak, nonatomic) IBOutlet UIView *contentView; @property (nullable, nonatomic, strong) NSLayoutConstraint *topConstraint; @property (nullable, nonatomic, strong) NSLayoutConstraint *bottomConstraint; // Recognizes single tap/touches to screen for dismissing keyboard @property (nonnull, strong, nonatomic) UITapGestureRecognizer *dismissKeyboardTapGesture; // For setting the width of the content to the size of the screen. @property (nullable, weak, nonatomic) IBOutlet NSLayoutConstraint *contentWidthConstraint; // Boolean for if the keyboard is showing or now. @property (assign, nonatomic, readonly) BOOL keyboardIsShowing; // Returns the rectangle to scroll to when the keyboard pops up. - (CGRect)rectToScrollToWhenKeyboardPopsUp; // Registers for keyboard notifications - (void)registerForKeyboardNotifications; // Unregisters for keyboard notifications - (void)unregisterForKeyboardNotifications; // Called when the UIKeyboardDidShowNotification is sent. (Subclasses should call super) - (void)keyboardWillShow:(nonnull NSNotification *)notification; // Called when the UIKeyboardWillHideNotification is sent. (Subclasses should call super) - (void)keyboardWillBeHidden:(nonnull NSNotification *)notification; // Returns if the scroll shoud flash on completion of animation in view. This is always true in the base class. Subclass to override. - (BOOL)isFlashScrollIndicatorAccesible; - (void)pageAnimationEnded; // Implement this to disable hand scroll Animation for View Controller. By Default it will be enabled - (BOOL)shouldEnableHandScrollAnimation; // to stop hand scoll animation so subclases can stop in certain user actions - (void)stopHandScrollAnimation:(BOOL)animated; @end