Skip to content
Euro Tech Talk

Euro Tech Talk

Business Success Through Cutting-Edge Tech Gadgets

  • Home
  • Gadgets
  • Techs
  • Games
  • Socials
    • Latest Trends
  • Businesses
  • Gifts
  • Travels
  • Contacts
  • Home
  • Latest
  • Drawer view controller that easy to use

Drawer view controller that easy to use

Madison Genthry November 4, 2021 4 min read
4491

A drawer view controller is an iOS class that makes it easy to create a collection of controllers. It wraps all the animations and other UIViewController-like features in one place. The result is much less code, which results in faster UI development time for your app.

The “kydrawercontroller” is a drawer view controller that easy to use. It can be used with UIViewController and Xcode 7.

A simple to use drawer view controller!

Installation

CocoaPods (projects for iOS 8 and above)

On CocoaPods, you may find KWDrawerController. To your Podfile, add the following:

# Swift 3 pod ‘KWDrawerController’, ‘> 3.7’ # Swift 4 pod ‘KWDrawerController’, ‘> 4.2’ pod ‘KWDrawerController/RxSwift’

Manually

Drag the DrawerController folder into your existing project and put it in.

Usage

Code

@UIApplication import UIKit import KWDrawerController func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) main class AppDelegate: UIResponder, UIApplicationDelegate var window: UIWindow? -> let mainViewController = MainViewController() let leftViewController = LeftViewController() let rightViewController = RightViewController() let drawerController = DrawerController() drawerController let mainViewController = MainViewController() drawerController.setViewController(mainViewController,.none) drawerController.setViewController(leftViewController,.left) viewController is set (rightViewController, .right) Window = UIWindow(frame: UIScreen.mainScreen().bounds) window customizing? . drawerController window = rootViewController? . return true if makeKeyAndVisible() is true

Storyboard

  1. Set the Initial ViewController’s Custom Class to DrawerController.

  2. Connect DrawerController’s DrawerEmbedLeftControllerSegue and/or DrawerEmbedRightControllerSegue to your left/right controllers.

  3. Connect the DrawerEmbedMainControllerSegue from DrawerController to your main controller using the DrawerEmbedMainControllerSegue.

  4. Set the segue IDs for both the inspector and the segues themselves in DrawerController.

Close / Open

/ openSide self.drawerController? (.left) self.drawerController?.openSide(.right) / closeSide self.drawerController? ()

Delegate

drawer function (optional) DidAnimation happen? ( drawerController: DrawerController, side: DrawerSide, percentage: Float ) drawer function (optional) DidAnimationBegin ( drawerController: DrawerController, side: DrawerSide ) drawer function (optional) WillFinishAnimation is a placeholder for WillFinishAnimation, which ( drawerController: DrawerController, side: DrawerSide ) drawer function (optional) WillAnimationBeCancelled ( drawerController: DrawerController, side: DrawerSide ) drawer function (optional) DidFinishAnimationFinishAnimationFinishAnimationFinish ( drawerController: DrawerController, side: DrawerSide ) drawer function (optional) DidAnimationCancel ( drawerController: DrawerController, side: DrawerSide )

Customizing

Transition

DrawerTransition is a module that determines the Drawer’s rendering direction. It’s done by inheriting from DrawerTransition.

DrawerSlideTransition

  • DrawerScaleTransition
  • DrawerParallaxTransition

DrawerParallaxTransition

  • DrawerFloatTransition
    • Transition from Overflow should also utilize DrawerFloatTransition while utilizing the Transition.

DrawerFloatTransition

DrawerFoldTransition

DrawerSwingTransition

DrawerZoomTransition

Overflow Transition

When transitioning beyond the drawer’s open range, an overflow transition should be applied.

  • DrawerSlideTransition
  • DrawerScaleTransition
    • When using DrawerSlideTransition, DrawerParallaxTransition, DrawerFoldTransition, and DrawerSwingTransition, this is normal.

DrawerScaleTransition

  • DrawerParallaxTransition
  • DrawerFloatTransition
    • Transition should additionally utilize DrawerFloatTransition when employing the Overflow Transition.
  • DrawerFoldTransition
  • DrawerSwingTransition
  • DrawerZoomTransition

Animator

The Animator module regulates the pace at which a drawer moves. DrawerAnimator or DrawerTickAnimator are used to implement it.

  • DrawerLinearAnimator
  • DrawerCurveEaseAnimator
  • DrawerSpringAnimator
  • DrawerCubicEaseAnimator
  • DrawerQuadEaseAnimator
  • DrawerQuartEaseAnimator
  • DrawerQuintEaseAnimator
  • DrawerCircEaseAnimator
  • DrawerExpoEaseAnimator
  • DrawerSineEaseAnimator
  • DrawerElasticEaseAnimator
  • DrawerBackEaseAnimator
  • DrawerBounceEaseAnimator

Options

is a public variable Bool public var is TapToClose: Bool public var is a gesture. Bool public var is animated Overflow Bool public var is animated bool public var is bool public var is bool public var is bool public Bool public var is FadeScreen Bool public var is a bool bool bool bool bool bool Enable: Bool

Changelog

  • 1.0 is the first release.
  • 1.1 Bug fixes and animations have been included.
  • Refactoring 2.0
  • 2.1 Bug fix and animation update.
  • 2.2 Improved animation and fixed a few problems.
  • 3.0 Developed in Swift 3.0
  • 3.1 DrawerController’s Access Control concerns have been resolved.
  • 3.2 On Transition, fix the Access Control problems.
  • 3.3 On the initializer, fix the Access Control concerns.
  • 3.4 Discard the debug log.
  • 3.5 Fixed an issue in which “Absolute Controller” did not apply touch ignores.
  • 3.6 Fixed a problem that occurred while the drawer was open and the layout was changing.
  • 3.6.1 Fixed a layout problem that occurred when the device was rotated.
  • 3.7 Issues with properties not updating were fixed.
  • Swift 4 is supported in version 4.0.
  • 4.1 Add a new flag that permits auto-direction switching.
  • 4.1.1 RxSwift support (If you want).
  • 4.1.2
    • Fix difficulties with child view controllers’ auto layout.
    • Names should be replaced.
    • Use the getViewController function to get a view controller.
    • Reduce the size of the cloning process.
  • 4.1.3
    • Crash on load has been fixed. (#12)
  • 4.1.4
    • To delegate, add state methods. (#16)
    • (#18) Resolve access control concerns.
    • DrawerFloatTransition problem has been fixed (#20).
    • The lifecycles of child controllers are wrongly managed by DrawerController. #22 (#21)
  • 4.1.5
    • Improvements to the code and performance, as well as bug fixes. (@rivera-ernesto) #24
  • 4.1.6
    • Fix the transition issues.
    • Bugs with gestures that don’t function should be fixed.
    • Correct iPad drawer arrangement (#28 @rivera-ernesto)
  • 4.2

Requirements are a set of rules that must be followed.

Permission

The MIT license applies to KWDrawerController. For further information, see the LICENSE file.

GitHub

https://github.com/Kawoou/KWDrawerController

The “ios slide view up from bottom github” is a drawer view controller that easy to use. The developer can easily add this type of drawer into their project.

Related Tags

  • mmdrawercontroller
  • draggable view controller swift github
  • slide view controller swift
  • ios side menu example
  • material design navigation drawer github
Total
0
Shares
Share 0
Tweet 0
Pin it 0
Share 0

Continue Reading

Previous: Tips On How To Protect Your Employees And Improve Workflow
Next: How to unlock an iPhone phone without a passcode

Trending

What is Genshin Impact and how to run it on Mac 1

What is Genshin Impact and how to run it on Mac

April 29, 2022
$700 Gaming PC Build 2

$700 Gaming PC Build

November 23, 2021
Battlefield 1 guide 3

Battlefield 1 guide

November 14, 2021
5 Best RGB Fans (2020) 4

5 Best RGB Fans (2020)

November 9, 2021

Related Stories

Introduction to 1win Crypto Casino Image1
6 min read

Introduction to 1win Crypto Casino

May 7, 2025 16
Click, Learn, Trust: How 1win Shapes Digital Habits Through Simplicity Image1
6 min read

Click, Learn, Trust: How 1win Shapes Digital Habits Through Simplicity

May 7, 2025 14
From Analytics to Betting: How Big Data Optimizes 1win Token Usage Image2
5 min read

From Analytics to Betting: How Big Data Optimizes 1win Token Usage

May 7, 2025 16
The Rise of Crypto Payments in Europe: Where We’re Headed by 2026
4 min read

The Rise of Crypto Payments in Europe: Where We’re Headed by 2026

May 6, 2025 21
Avoid Data Breaches: The Role Of Secure It Asset Disposition
3 min read

Avoid Data Breaches: The Role Of Secure It Asset Disposition

April 24, 2025 75
How To Forge A Career As A Sound Engineer Image2
4 min read

How To Forge A Career As A Sound Engineer

April 19, 2025 109

recent

Everything you need to know: Airpods 1

Everything you need to know: Airpods

August 10, 2022
Charge iPhone Faster 2

Charge iPhone Faster

August 10, 2022
2360 Vexalor Lane
Qyntharil, DE 48293
  • About The Crew
  • Contact Us
  • Privacy Policy
  • T/C
  • Latest Trends
© 2023 Eurotechtalk.com
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept”, you consent to the use of ALL the cookies.
Do not sell my personal information.
Cookie SettingsAccept
Manage consent

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
CookieDurationDescription
cookielawinfo-checkbox-analytics11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional11 monthsThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy11 monthsThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytics
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
Others
Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.
SAVE & ACCEPT