All Projects → shingt → DraggableModalTransition

shingt / DraggableModalTransition

Licence: MIT license
Enables dragging interaction and animation of scrollView in a similar way to Facebook Messenger app.

Programming Languages

swift
15916 projects
ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to DraggableModalTransition

Tysnapshotscroll
一句代码保存截图,将 UIScrollView UITableView UICollectionView UIWebView WKWebView 网页 保存 为 长图 查看。Save the scroll view page as an image,support UIScrollView,UITableView,UICollectionView,UIWebView,WKWebView.(Support iOS13)
Stars: ✭ 709 (+1025.4%)
Mutual labels:  uitableview, scrollview
Squaremosaiclayout
An extandable mosaic UICollectionViewLayout with a focus on extremely flexible customizations 🔶
Stars: ✭ 243 (+285.71%)
Mutual labels:  uitableview
Imessagestylereveal
Adds iMessage style timestamp support. Written in Swift!
Stars: ✭ 138 (+119.05%)
Mutual labels:  uitableview
Swiftycomments
UITableView based component designed to display a hierarchy of expandable/foldable comments.
Stars: ✭ 200 (+217.46%)
Mutual labels:  uitableview
Animatingtableviewheader
A Swift project explaining how to animate a header above a UITableView
Stars: ✭ 151 (+139.68%)
Mutual labels:  uitableview
Expandabletable
AZExpandable is a lightweight proxy for UITableView to expand cells.
Stars: ✭ 218 (+246.03%)
Mutual labels:  uitableview
Pbtreeview
An UITreeView implementation from UITableView that Apple missed in its UIKit framework. And it is in pure Swift.
Stars: ✭ 128 (+103.17%)
Mutual labels:  uitableview
IQListKit
Model driven UITableView/UICollectionView
Stars: ✭ 51 (-19.05%)
Mutual labels:  uitableview
Tabanimated
A skeleton screen framework based on native for iOS. (一个由iOS原生组件映射出骨架屏的框架,包含快速植入,低耦合,兼容复杂视图等特点,提供国内主流骨架屏动画的加载方案,同时支持上拉加载更多、自定制动画。)
Stars: ✭ 2,909 (+4517.46%)
Mutual labels:  uitableview
Expandable Table View
Expandable UITableView in iOS
Stars: ✭ 180 (+185.71%)
Mutual labels:  uitableview
Rglistkit
RGListKit is a Protocol & MVVM based framework to easily populate a UITableView or UICollectionView via single api.
Stars: ✭ 178 (+182.54%)
Mutual labels:  uitableview
Toroundedtableview
A subclass of UITableView that styles it like Settings.app on iPad
Stars: ✭ 157 (+149.21%)
Mutual labels:  uitableview
Automatic Height Tagcells
This is a sample project to implement features with dynamic height of UITableViewCell based on autolayout, tags aligned automatically and clickable tags.
Stars: ✭ 229 (+263.49%)
Mutual labels:  uitableview
Eureka
Elegant iOS form builder in Swift
Stars: ✭ 11,345 (+17907.94%)
Mutual labels:  uitableview
UnityDynamicScrollView
Dynamic scrollView based on UGUI
Stars: ✭ 161 (+155.56%)
Mutual labels:  scrollview
Closures
Swifty closures for UIKit and Foundation
Stars: ✭ 1,720 (+2630.16%)
Mutual labels:  uitableview
Hgplaceholders
Nice library to show placeholders and Empty States for any UITableView/UICollectionView in your project
Stars: ✭ 2,048 (+3150.79%)
Mutual labels:  uitableview
Flowkit
A declarative type-safe framework for building fast and flexible list with Tables & Collection
Stars: ✭ 215 (+241.27%)
Mutual labels:  uitableview
react-native-scrollable-animated-header
🤯 React Native Animated Header with ScrollView
Stars: ✭ 112 (+77.78%)
Mutual labels:  scrollview
react-native-js-tableview
A JavaScript implementation for TableView that looks great on both iOS and Android.
Stars: ✭ 23 (-63.49%)
Mutual labels:  uitableview

DraggableModalTransition

Build Status Version License Xcode 10.0+ iOS 10.0+ Swift 4.2+

Introduction

DraggableModalTransition enables dragging interaction and animation of scrollView in a similar way to Facebook Messenger app.
Inspired by zoonooz/ZFDragableModalTransition. Key difference is you can continue dragging scrollView after you have finished scrolling to top of it (See example below).

Example

Example project is available at Example/DraggableModalTransition.xcodeproj.

Usage

Set an instance of DraggableModalTransition to transitioningDelegate of viewController you want to present.
Note that you have to keep an instance of DraggableModalTransition even after view is presented.

func presentModalView() {
    let controller = ModalViewController()
    let navigationController = UINavigationController(rootViewController: controller)
 
    modalTransition = DraggableModalTransition(with: controller)
    navigationController.transitioningDelegate = modalTransition
    controller.modalViewControllerDelegate = modalTransition
    present(navigationController, animated: true, completion: nil)
}

For now you also need to call modalViewDidScroll in your scrollViewDidScroll.

class ModalViewController {
    weak var modalViewControllerDelegate: ModalViewControllerDelegate?
    ...
    func scrollViewDidScroll(_ scrollView: UIScrollView) {
        modalViewControllerDelegate?.modalViewDidScroll(scrollView)
    }
} 

See example project for more details.

Requirements

  • iOS9+
  • Swift 4.2+
  • Xcode 10.0+

Installation

DraggableModalTransition is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod "DraggableModalTransition"

Author

shingt

License

DraggableModalTransition is available under the MIT license. See the LICENSE file for more info.

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].