All Projects → JellyDevelopment → Jdanimationkit

JellyDevelopment / Jdanimationkit

Licence: mit
Animate easy and with less code with Swift

Programming Languages

swift
15916 projects
swift3
66 projects

Projects that are alternatives of or similar to Jdanimationkit

Facebook Pop Tutorial
Facebook's Pop Framework, By Examples
Stars: ✭ 181 (-70.38%)
Mutual labels:  pop
mail-plus
邮件收取工具包,支持pop,imap,exchange协议的邮箱以及企业邮箱
Stars: ✭ 31 (-94.93%)
Mutual labels:  pop
Radialmenu
RadialMenu is a custom control for providing a touch context menu (like iMessage recording in iOS 8) built with Swift & POP
Stars: ✭ 292 (-52.21%)
Mutual labels:  pop
Spstorkcontroller
Now playing controller from Apple Music, Mail & Podcasts Apple's apps.
Stars: ✭ 2,494 (+308.18%)
Mutual labels:  pop
GemBox.Email.Examples
Read and write email files (MSG, EML, MHTML), and compose, receive and send email messages using POP, IMAP, SMTP, and EWS in a simple and efficient way.
Stars: ✭ 18 (-97.05%)
Mutual labels:  pop
go-pop3
Package pop3 provides an implementation of the Post Office Protocol - Version 3.
Stars: ✭ 21 (-96.56%)
Mutual labels:  pop
Magma
The magma server daemon, is an encrypted email system with support for SMTP, POP, IMAP, HTTP and MOLTEN,. Additional support for DMTP and DMAP is currently in active development.
Stars: ✭ 1,740 (+184.78%)
Mutual labels:  pop
Lazytransitions
Lazy pop and dismiss like in the Facebook, Instagram or Twitter apps.
Stars: ✭ 377 (-38.3%)
Mutual labels:  pop
StackFlowView
Enforce stack behaviour for custom UI flow.
Stars: ✭ 35 (-94.27%)
Mutual labels:  pop
Wpopup
一个简单使用并且高度定制的Popupwindow。超简单实现朋友圈点赞效果,并且只用一个WPopup!完全不用担心复用问题!点击切换动画效果等!
Stars: ✭ 269 (-55.97%)
Mutual labels:  pop
Jh flutter demo
a flutter demo
Stars: ✭ 229 (-62.52%)
Mutual labels:  pop
buffalo-pop
A plugin to use gobuffalo/pop with buffalo
Stars: ✭ 19 (-96.89%)
Mutual labels:  pop
SPStorkController
Now playing controller from Apple Music, Mail & Podcasts Apple's apps.
Stars: ✭ 2,515 (+311.62%)
Mutual labels:  pop
Tfpopup
🚀🚀🚀TFPopup不生产弹框,它只是弹框的弹出工🚀🚀🚀默认支持多种动画方式一行调用,支持完全自定义动画.
Stars: ✭ 182 (-70.21%)
Mutual labels:  pop
Zmail
Zmail makes it easier to send and retrieve emails in python3
Stars: ✭ 310 (-49.26%)
Mutual labels:  pop
Persistentbottomnavbar
A highly customizable persistent bottom navigation bar for Flutter
Stars: ✭ 165 (-73%)
Mutual labels:  pop
PopOverAlert
PopOverAlert is a PopOver style alert view.
Stars: ✭ 56 (-90.83%)
Mutual labels:  pop
Dcurlrouter
通过自定义URL实现控制器之间的跳转
Stars: ✭ 393 (-35.68%)
Mutual labels:  pop
Ftpopovermenu swift
FTPopOverMenu_Swift, swift version of FTPopOverMenu. FTPopOverMenu is a pop over menu for iOS which is maybe the easiest one to use. Supports both portrait and landscape. It can show from any UIView, any UIBarButtonItem and any CGRect.
Stars: ✭ 326 (-46.64%)
Mutual labels:  pop
VBA-Arrays
😎 Array functions that are similar JavaScript functions. Example: Push, Pop, Shift, Unshift, Sort, length, toString.
Stars: ✭ 48 (-92.14%)
Mutual labels:  pop

BuddyBuild codebeat badge Version Platform Swift3 License CocoaPods CocoaPods

JDAnimationKit is designed to be extremely easy to use. You can animate your UI withe less lines of code. This library use internally POP framework, an extensible iOS and OS X animation library, useful for physics-based interactions.

Supported OS & SDK Versions

  • iOS 8.0+
  • Swift 3 (JDAnimationKit 1.0.x), Swift 2.3 (JDAnimationKit 1.1.x)

Demo

Preview Preview

Beetripper App's screenshots

Installation

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

pod "JDAnimationKit"

Note: Due to CocoaPods/CocoaPods#4420 issue there is problem with compiling project with Xcode 7.1 and CocoaPods v0.39.0. However there is a temporary workaround for this: Add next lines to the end of your Podfile

post_install do |installer|
  `find Pods -regex 'Pods/pop.*\\.h' -print0 | xargs -0 sed -i '' 's/\\(<\\)pop\\/\\(.*\\)\\(>\\)/\\"\\2\\"/'`
end

To install manually the JDAnimationKit class in an app, just drag the JDAnimationKit.swift class file (demo files and assets are not needed) into your project. Also you need to install facebook-pop. Or add bridging header if you are using CocoaPods.

Usage

Import JDAnimationKit in proper place.

import JDAnimationKit

You can animate CALayers and UIViews (and subclasses). Only you add the animation you want after element.

self.squareView.rotateTo(90)

If you want mutiple animation at one time.

self.squareView.rotateTo(90).moveXBy(50).opacityTo(0)

All methods have got more arguments with default values. You don't need indicate all, only the params that your need.

self.squareView.rotateTo(90).moveXBy(50, delay: 2.0, timing: .EaseIn)

Configure your animations

You can adjust the parameters of your animations:

-> duration : Double

Indicate the duration of animation (Default: 0.5)

-> spring : Bool

Indicate if apply physics effects to animate (Default: false)

-> springConfig : JDSpringConfig (struct)

If spring property is true, configure the physics params (bounciness and speed) (Default: bounciness: 10, speed: 10)

-> timing : JDTimingFunction (enum)

The animation-timing-function specifies the speed curve of an animation (Default: .None)

Values:

  • EaseIn
  • EaseOut
  • EaseInOut
  • Linear
  • None

-> delay : Double

You can execute the animation after X seconds. (Default: 0)

-> key : String

Identify the animation

Anchoring

The anchor point represents the point from which certain coordinates originate. The anchor point is one of several properties that you specify using the unit coordinate system. Core Animation uses unit coordinates to represent properties whose values might change when the layer’s size changes. You can think of the unit coordinates as specifying a percentage of the total possible value. Every coordinate in the unit coordinate space has a range of 0.0 to 1.0. For example, along the x-axis, the left edge is at the coordinate 0.0 and the right edge is at the coordinate 1.0.

Preview

You can set the anchor point with this code:

self.squareView.changeAnchorPoint(0, y: 0)  

Callback

If you want to get animations callbacks or if you want to run code after an animation finishes, you are supposed to call didStopAnimation or didStartAnimation block.

self.squareView.scaleTo(2, scaleY: 2).didStartAnimation { (node, key, finished, error) -> Void in

}
self.squareView.scaleTo(2, scaleY: 2).didStopAnimation { (node, key, finished, error) -> Void in

}

Chainable Animations

self.squareView.moveXTo(100)
self.squareView.moveYTo(100)
self.squareView.moveTo(100, y: 100)
self.squareView.moveXBy(100)
self.squareView.moveYBy(50)
self.squareView.moveBy(100, deltaY: 50)
self.squareView.scaleXTo(2)
self.squareView.scaleYTo(2)
self.squareView.scaleTo(2, scaleY: 2)
self.squareView.opacityTo(0)
self.squareView.rotateTo(90)
self.squareView.changeBounds(bounds) //let bounds: CGRect
self.squareView.changeBgColor(green) //let green: UIColor

Author

License

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