Canvas alternatives and similar libraries
Based on the "Animation" category.
Alternatively, view Canvas 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 -
LSAnimator
⛓ Easy to Read and Write Multi-chain Animations Lib in Objective-C and Swift. -
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. -
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 Canvas or a related project?
Popular Comparisons
README
Canvas is a project to simplify iOS development for both designers and developers. It had been difficult for designers to get hands on building the product with the lack of objective-c and Xcode experience, and a hard time for developer to use reasonable amount of time and lines of code just to achieve really simple effects.
With Canvas, creating stunning animations requires zero lines of code, trendy effects like the Parallax headers, Sticky sections, Blurred Backgrounds, will be as simple as few lines of code changes.
Demo App
The demo app in this project uses CocoaPods, please run pod install
after you download this project, then open Canvas.xcworkspace
.
See this screencast in action:
Unable to build demo?
If you're getting some errors like Accelerate.framework not include, please update your CocoaPods version:
$ [sudo] gem install cocoapods
We also have a live demo avaliable at homepage.
Getting Started
If you're already on CocoaPods, installing our library is easy:
$ edit Podfile
platform :ios, '7.0'
pod 'Canvas', '~> 0.1.2'
Make sure you also update the dependencies by running this command afterwards:
pod install
Then you should now have the Xcode workspace (.xcworkspace
) ready.
$open App.xcworkspace
That's it and you are good to go! See our blog posts for hands on tutorial.
How to Use
Using Interface Builder (no code required)
Specify the class CSAnimationView
, and configurate the runtime attributes duration
, delay
, and type
.
Please also get started with our more detailed explaination on what Canvas can do.
Using Code
It's very similar to using Interface Builder, instead you just setup the custom view in code.
#import "Canvas.h"
CSAnimationView *animationView = [[CSAnimationView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
animationView.backgroundColor = [UIColor whiteColor];
animationView.duration = 0.5;
animationView.delay = 0;
animationView.type = CSAnimationTypeMorph;
[self.view addSubview:animationView];
// Add your subviews into animationView
// [animationView addSubview:<#(UIView *)#>]
// Kick start the animation immediately
[animationView startCanvasAnimation];
Issues
It has been reported that current version doesn't work very well with AutoLayout. Canvas animates view frame/position but autolayout requires manipulating constraints. I am not sure if there's any quick way without changing from the ground up. Our discussion here has some proposed solution but seems imperfect (but it works under iOS 8 tho). Please join our conversation or make pull request if you know a better solution!
Updates
v0.1.2 - 9 new animations, thanks for Jake-Piatkowski adding those awesome effects!
v0.1.1 - Minor fixes
v0.1 - Initial release
Requirements
iOS 7, Xcode 5
Who's behind?
LICENSE
Canvas is available under the MIT license. See the LICENSE file for more info.
*Note that all licence references and agreements mentioned in the Canvas README section above
are relevant to that project's source code only.