You can achieve this using Auto-layout and Swipe Gesture. The hard part sets the limits for your view. Add a negative height constraint to your view so that it doesn't display.
@IBOutlet weak var yourViewBottomConstraint: NSLayoutConstraint! //Create IBOutlet of bottom Contraint to YourView let swipeUp = UISwipeGestureRecognizer() // Swipe Up gesture recognizer let swipeDown = UISwipeGestureRecognizer() // Swipe Down gesture recognizer OR You can use single Swipe Gesture
Than in your view DidLoad ()
Override func viewDidLoad() { // Swipe Gesture swipeUp.direction = UISwipeGestureRecognizerDirection.up swipeUp.addTarget(self, action: "swipedViewUp") drawerButton.addGestureRecognizer(swipeUp) // Or assign to view swipeDown.direction = UISwipeGestureRecognizerDirection.down swipeDown.addTarget(self, action: "swipedViewDown") drawerButton.addGestureRecognizer(swipeDown) // Or assign to view }
And view scroll methods
// Toggle Swipe Action for imagesContainer func swipedViewUp(){ self.yourViewBottomConstraint.constant = +90 // Or set whatever value print("Swiped Up") } func swipedViewDown(){ self.yourViewBottomConstraint.constant = -90 // Or Set whatever value print("Swiped Down") }
source share