Latest 0.9
Homepage https://github.com/jakelawson1/FlickToDismiss
License MIT
Platforms ios 8.0
Frameworks UIKit
Authors

FlickToDismiss hero image

Requirements

  • iOS 8.0+
  • Xcode 7.3

Installation

CocoaPods

CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:

$ gem install cocoapods

To integrate FlickToDismiss into your Xcode project using CocoaPods, specify it in your Podfile:

pod 'FlickToDismiss', '~> 0.9'

Then, run the following command:

$ pod install

Manual

Add FlickToDismissViewController.swift to your project in Xcode.

Usage

Interface Builder

  1. Drag a new UIViewController object onto your storyboard.
  2. Set the class to FlickToDismissViewController.
  3. Drag a UIView object onto the View Controller.
  4. Add any necessary constraints.
  5. Connect the flickableView outlet to the UIView in the Connections inspector.
  6. Job done.

Programatically

let viewToFlick = UIView(frame: CGRect(x: 0, y: 0, width: 280, height: 300))
viewToFlick.backgroundColor = .whiteColor()
// Optional - See FlickToDismissOption for available options.
let options: [FlickToDismissOption] = [
.Animation(.Scale),
.BackgroundColor(UIColor(white: 0.0, alpha: 0.8))
]
let vc = FlickToDismissViewController(flickableView: viewToFlick, options: options)
vc.modalTransitionStyle = .CrossDissolve
vc.modalPresentationStyle = .OverFullScreen
presentViewController(vc, animated: true, completion: nil)

Hint – Subclassing UIView

Since Auto Layout sizes views according to their frames, it incorrectly assumes it has a larger space to lay things out when a view is rotated. To correct this we need to supply the method alignmentRectForFrame() in the view subclass:

override func alignmentRectForFrame(frame: CGRect) -> CGRect {
    return bounds
}

License

FlickToDismiss is licensed under the MIT License. See LICENSE for details.

Let me know if you use FlickToDismiss in your projects, I would love to know!

Latest podspec

{
    "name": "FlickToDismiss",
    "version": "0.9",
    "summary": "A basic UIViewController class that presents a UIView which can be dismissed by flicking it off the screen.",
    "description": "FlickToDismiss is written in Swift and utilises UIKit Dynamics. It allows for a UIView to be flicked off the screen which dismisses the presenting view controller.",
    "homepage": "https://github.com/jakelawson1/FlickToDismiss",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    },
    "authors": {
        "Jake Lawson": "[email protected]"
    },
    "source": {
        "git": "https://github.com/jakelawson1/FlickToDismiss.git",
        "tag": "0.9"
    },
    "platforms": {
        "ios": "8.0"
    },
    "source_files": "Source/**",
    "frameworks": "UIKit"
}

Pin It on Pinterest

Share This