UIView-Shake alternatives and similar libraries
Based on the "Animation" category.
Alternatively, view UIView-Shake alternatives based on common mentions on social networks and blogs.
-
Pop
An extensible iOS and OS X animation library, useful for physics-based interactions. -
Shimmer
An easy way to add a simple, shimmering effect to any view in an iOS app. -
IBAnimatable
Design and prototype customized UI, interaction, navigation, transition and animation for App Store ready Apps in Interface Builder with IBAnimatable. -
Keyframes
A library for converting Adobe AE shape based animations to a data format and play it back on Android and iOS devices. -
JHChainableAnimations
Easy to read and write chainable animations in Objective-C and Swift -
EasyAnimation
A Swift library to take the power of UIView.animateWithDuration(_:, animations:...) to a whole new level - layers, springs, chain-able animations and mixing view and layer animations together! -
RZTransitions
A library of custom iOS View Controller Animations and Interactions. -
DKChainableAnimationKit
⭐ Chainable animations in Swift -
CKWaveCollectionViewTransition
Cool wave like transition between two or more UICollectionView -
Interpolate
Swift interpolation for gesture-driven animations -
LSAnimator
⛓ Easy to Read and Write Multi-chain Animations Lib in Objective-C and Swift. -
Popsicle
Delightful, extensible Swift value interpolation framework -
Awesome-iOS-Animation
Curated list of iOS Animation libraries -
AnimationEngine
Easily build advanced custom animations on iOS. -
ActivityIndicatorView
A number of preset loading indicators created with SwiftUI -
DCAnimationKit
A collection of animations for iOS. Simple, just add water animations. -
ZoomTransitioning
ZoomTransitioning provides a custom transition with image zooming animation and swiping the screen edge. -
FlightAnimator
Advanced Natural Motion Animations, Simple Blocks Based Syntax -
AHKBendableView
UIView subclass that bends its edges when its position changes. -
Animo
Bring life to CALayers with SpriteKit-like animation builders -
AHDownloadButton
Customizable download button with progress and transition animations. It is based on Apple's App Store download button. -
MotionMachine
A powerful, elegant, and modular animation library for Swift. -
RippleEffectView
RippleEffectView - A Neat Rippling View Effect -
SamuraiTransition
SamuraiTransition is an open source Swift based library providing a collection of ViewController transitions featuring a number of neat “cutting” animations. -
JRMFloatingAnimation
An Objective-C animation library used to create floating image views. -
CCMRadarView
CCMRadarView uses the IBDesignable tools to make an easy customizable radar view with animation -
ConcentricProgressRingView
Fully customizable circular progress bar written in Swift. -
Walker
Each step you take reveals a new horizon. You have taken the first step today. -
SYBlinkAnimationKit
A blink effect animation framework for iOS, written in Swift. -
ADPuzzleAnimation
Inspired by Fabric - Answers animation. Allows to "build" given view with pieces. Allows to "destroy" given view into pieces -
SMSwipeableTabView
Swipeable Views with Tabs (Like Android SwipeView With Tabs Layout)
Appwrite - The Open Source Firebase alternative introduces iOS support
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of UIView-Shake or a related project?
README
UIView category that adds a shake animation like the password field of the OSX login screen.
Screenshot
Setup with CocoaPods
- Add
pod 'UIView+Shake'
to your Podfile - Run
pod install
- Run
open App.xcworkspace
Objective-C
Import UIView+Shake.h
in your controller's header file
Swift
If you are using use_frameworks!
in your Podfile, use this import:
import UIView_Shake
Usage
In Objective-C
// Shake
[[self.view] shake];
// Shake with the default speed
[self.view shake:10 // 10 times
withDelta:5 // 5 points wide
];
// Shake with a custom speed
[self.view shake:10 // 10 times
withDelta:5 // 5 points wide
speed:0.03 // 30ms per shake
];
// Shake with a custom speed and direction
[self.view shake:10 // 10 times
withDelta:5 // 5 points wide
speed:0.03 // 30ms per shake
shakeDirection:ShakeDirectionVertical
];
In Swift
// Shake
self.view.shake()
// Shake with the default speed
self.view.shake(10, // 10 times
withDelta: 5.0 // 5 points wide
)
// Shake with a custom speed
self.view.shake(10, // 10 times
withDelta: 5.0, // 5 points wide
speed: 0.03 // 30ms per shake
)
// Shake with a custom speed and direction
self.view.shake(10, // 10 times
withDelta: 5.0, // 5 points wide
speed: 0.03, // 30ms per shake
shakeDirection: ShakeDirection.Vertical
)
Direction
The shake direction is either .Vertical
, .Horizontal
or .Rotation
Completion Handler
You can also pass a completion block that will be performed as soon as the shake animation stops
- (void)shake:(int)times withDelta:(CGFloat)delta completion:(void((^)()))handler;
- (void)shake:(int)times withDelta:(CGFloat)delta speed:(NSTimeInterval)interval completion:(void((^)()))handler;
- (void)shake:(int)times withDelta:(CGFloat)delta speed:(NSTimeInterval)interval shakeDirection:(ShakeDirection)shakeDirection completion:(void((^)()))handler;
or in Swift using the trailing closure syntax:
view.shake(10, withDelta: 5) {
println("done")
}
Author
Andrea Mazzini. I'm available for freelance work, feel free to contact me.
Want to support the development of these free libraries? Buy me a coffee ☕️ via Paypal.
Contributors
Thanks to everyone kind enough to submit a pull request.
MIT License
Copyright (c) 2015 Andrea Mazzini. All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*Note that all licence references and agreements mentioned in the UIView-Shake README section above
are relevant to that project's source code only.