All Projects → tattn → Swipetransition

tattn / Swipetransition

Licence: mit
Allows trendy transitions using swipe gesture such as "swipe back anywhere".

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to Swipetransition

Spstorkcontroller
Now playing controller from Apple Music, Mail & Podcasts Apple's apps.
Stars: ✭ 2,494 (+816.91%)
Mutual labels:  transition, swipe
Layerjs
layerJS: Javascript UI composition framework
Stars: ✭ 1,825 (+570.96%)
Mutual labels:  transition, swipe
Googlenewsstandanimation Android
Navigation pattern like in Google News Stand app with transitions
Stars: ✭ 130 (-52.21%)
Mutual labels:  transition, swipe
SPStorkController
Now playing controller from Apple Music, Mail & Podcasts Apple's apps.
Stars: ✭ 2,515 (+824.63%)
Mutual labels:  swipe, transition
vue-smooth-height
Transition an elements height in response to data changes
Stars: ✭ 40 (-85.29%)
Mutual labels:  transition
react-gizmo
🦎 React Gizmo - UI Finite State Machine for React
Stars: ✭ 39 (-85.66%)
Mutual labels:  transition
unity-ui-manager
🎫 A Simple UI Manager for rapid prototyping and ease of collaboration
Stars: ✭ 44 (-83.82%)
Mutual labels:  transition
react-native-slideable-calendar-strip
A react native calendar strip that support swipe!
Stars: ✭ 86 (-68.38%)
Mutual labels:  swipe
Slidingrootnav
DrawerLayout-like ViewGroup, where a "drawer" is hidden under the content view, which can be shifted to make the drawer visible.
Stars: ✭ 2,939 (+980.51%)
Mutual labels:  swipe
Sheet
📑 Actionsheet with navigation features such as the Flipboard App
Stars: ✭ 264 (-2.94%)
Mutual labels:  transition
state-workflow
State Workflow Management Package For Laravel. Inspired by ROAM Horizon State Management Package.
Stars: ✭ 29 (-89.34%)
Mutual labels:  transition
FancyAdapters
A collection of customizable RecyclerView Adapters for Android, that provide various functionality like item selection, contextual action mode controls, drag&drop and swiping, among other.
Stars: ✭ 49 (-81.99%)
Mutual labels:  swipe
Youtube-Pagination-ProgressBar
Youtube app uses a nice ProgressBar for pagiantion.The ProgressBar goes down using transition and then dissapear when the process ends,so I created a Custom ProgresBar as youtube app has.
Stars: ✭ 25 (-90.81%)
Mutual labels:  transition
react-transition-box
React component for easily transitioning your container size based on children 🎁
Stars: ✭ 13 (-95.22%)
Mutual labels:  transition
Recyclerviewevent
RecyclerView onItemClick、onItemLongClick、drag、swipe、divider、reuse disorder RecyclerView 梳理:点击&长按事件、分割线、拖曳排序、滑动删除、优雅解决 EditText 和 CheckBox 复用错乱问题
Stars: ✭ 265 (-2.57%)
Mutual labels:  swipe
react-native-sideslip
可以让任意view支持侧滑菜单
Stars: ✭ 18 (-93.38%)
Mutual labels:  swipe
ng-ionic-connectedanim
Connected Animation (Shared Element Transition) for Ionic Framework.
Stars: ✭ 12 (-95.59%)
Mutual labels:  transition
Guillotinemenu Android
Neat library, that provides a simple way to implement guillotine-styled animation
Stars: ✭ 2,743 (+908.46%)
Mutual labels:  transition
d3-canvas-transition
transition on canvas with d3
Stars: ✭ 19 (-93.01%)
Mutual labels:  transition
AppleMusicTransition
AppleMusic Transition playBar -> playDetail
Stars: ✭ 21 (-92.28%)
Mutual labels:  transition

logotype-a

Build Status Carthage compatible pods Platform Swift Version Objective-C compatible

SwipeTransition allows trendy transitions using swipe gesture such as "swipe back".

Demo

Try the demo on the web (appetize.io): https://appetize.io/app/pebm8kveqhfj3wn204adn0xu8r

Features

  • [x] Swipe back anywhere.
  • [x] Swipe to dismiss anywhere.
  • [x] Apply to all view controllers automatically!
  • [x] No conflict of gestures on UIScrollView, UITableView, UICollectionView and so on.

Requirements

  • Xcode 10.2 (10.0+)
  • Swift 5 (4.2+)
  • iOS 8.0+

Installation

Carthage

github "tattn/SwipeTransition"

CocoaPods

pod "SwipeTransition"
pod "SwipeTransitionAutoSwipeBack"      # if needed
pod "SwipeTransitionAutoSwipeToDismiss" # if needed

Usage

The easiest way to use

Just setting these frameworks in the Linked Frameworks and Libraries, it works. (if you use Carthage)

Linked Frameworks and Libraries

Notes: these frameworks use Method Swizzling.

If you want to set up manually without Method Swizzling, please use SwipeTransition.framework only.

Manually set up

Notes: if you use `AutoSwipeBack.framework`, these are unnecessary.

Just use SwipeBackNavigationController instead of UINavigationController. Of course, you can set it with Interface Builder.

let viewController = UIViewController()
let navigationController = SwipeBackNavigationController(rootViewControlelr: viewController)

Another way is to set swipeBack.

class CustomNavigationController: UINavigationController {
    override func viewDidLoad() {
        super.viewDidLoad()
        swipeBack = SwipeBackController(navigationController: self)
    }
}
Notes: if you use `AutoSwipeToDismiss.framework`, these are unnecessary.

Just use SwipeToDismissNavigationController instead of UINavigationController. Of course, you can set it with Interface Builder.

let viewController = UIViewController()
let navigationController = SwipeToDismissNavigationController(rootViewControlelr: viewController)

Another way is to set swipeToDismiss.

class CustomNavigationController: UINavigationController {
    override func viewDidLoad() {
        super.viewDidLoad()
        modalPresentationStyle = .fullScreen
        swipeToDismiss = SwipeToDismissController(viewController: self)
    }
}

Enable/Disable gestures

Use isEnabled property.

self.navigationController?.swipeBack?.isEnabled = false
self.swipeToDismiss?.isEnabled = false

Configuration

You can also change the behavior such as animation.

SwipeBackConfiguration.shared.parallaxFactor = 0.6

SwipeToDismissConfiguration.shared.dismissHeightRatio = 0.5

Inheriting the configure class, you can set it with computed property.

class CustomSwipeBackConfiguration: SwipeBackConfiguration {
    override var transitionDuration: TimeInterval {
        get { return 1.5 }
        set { super.transitionDuration = newValue }
    }
}

SwipeBackConfiguration.shared = CustomSwipeBackConfiguration()

Other usage

See this wiki

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

Support this project

Donating to help me continue working on this project.

Donate

ToDo

  • [ ] All .modalPresentationStyle support
  • [ ] Animation support (fade / custom)
  • [ ] Some transition styles support (e.g. right to left swipe transition)

License

SwipeTransition is released under the MIT license. See LICENSE for details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].