agens-no / anymotion Goto Github PK
View Code? Open in Web Editor NEWone unified API for animating UIKit, CoreAnimation, POP and your library of choice.
License: Other
one unified API for animating UIKit, CoreAnimation, POP and your library of choice.
License: Other
I think we should remove next
from the ANYAnimation class. It is inconsistent between engines. POP triggers next on each write and UIKit triggers and CA triggers once.
before: work you want to do before the animation is created and added.
after: work you want to do do after the animation is finished/cancelled/removed.
We currently support repeat
, but as a colleague stated it would be great to have the possiblity to say [anim repeat:5]
.
Post shortcomings on this thread.
I assume this won't play nicely
let caKeyframe = ANYCAKeyframe(#keyPath(CALayer.opacity)).values([0, 0.5, 1]).animation(for: view.layer)
Please vote using reactions. And also please please vote on what you like about Anymotion.
Example
ANYAnimation *a = ...;
[a onStart:^{
NSLog(@"Hei");
}];
Takes an array of ANYAnimation
-objects and subscribes to them one at a time.
This [ANYAnimation chain:@[a, b, c, d]]
should be equivalent to [[[a then:b] then:c] then:d]
.
Now it is +[POPBasicFactory propertyNamed:]
it should be +[POPBasicFactory propertyNamed:object:]
where object can be a view, a layer or any NSObject.
Maybe like this https://github.com/schneiderandre/popping ?
First of, kudos on a really neat wrapper library around animations. Personally I hope Apple would Sherlock from these kind of libraries in the future. One thing that struck me as a potential improvement to the library is to make the pop animations optional. If you are looking for just a neat wrapper around animation but don't really have or see the need for the entire Facebook/pop
framework, it would be neat to be able to opt-out.
PromiseKit
has solved this by using extensions, maybe you guys could do the same for pop
, or any other framework for that mano. So if you one day have the need, then you just add the extension and BAM! pop is just there. Anyways, looks great. Keep up the good work!
References:
We could possibly go from this
POPBasicAnimation *alpha0 = [[[[POPBasicFactory propertyNamed:kPOPViewAlpha] duration:3] toValue:@0] build];
POPBasicAnimation *alpha1 = [[[[POPBasicFactory propertyNamed:kPOPViewAlpha] duration:3] toValue:@1] build];
POPBasicAnimation *frame0 = [[[[POPBasicFactory propertyNamed:kPOPViewFrame] duration:5] toValue:[NSValue valueWithCGRect:CGRectMake(100.0, 300.0, 50.0, 50.0)]] build];
POPBasicAnimation *frame1 = [[[[POPBasicFactory propertyNamed:kPOPViewFrame] duration:5] toValue:[NSValue valueWithCGRect:CGRectMake(100.0, 0.0, 50.0, 50.0)]] build];
AGAnimation *group1 = [AGAnimation group:@[
[alpha0 animation:view0],
[frame0 animation:view0],
[alpha1 animation:view1],
[frame1 animation:view1],
]];
to this
POPBasicFactory *alpha0 = [[[POPBasicFactory propertyNamed:kPOPViewAlpha object:view0] duration:3] toValue:@0];
POPBasicFactory *alpha1 = [[[POPBasicFactory propertyNamed:kPOPViewAlpha object:view0] duration:3] toValue:@1];
POPBasicFactory *frame0 = [[[POPBasicFactory propertyNamed:kPOPViewFrame object:view1] duration:5] toValue:[NSValue valueWithCGRect:CGRectMake(100.0, 300.0, 50.0, 50.0)]];
POPBasicFactory *frame1 = [[[POPBasicFactory propertyNamed:kPOPViewFrame object:view1] duration:5] toValue:[NSValue valueWithCGRect:CGRectMake(100.0, 0.0, 50.0, 50.0)]];
AGAnimation *group = [AGAnimation group:@[alpha0, frame0, alpha1, frame1]];
Please vote using reactions. And also please please vote on what you don't like about Anymotion.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.