SLSquallAnimation Class Reference
| Inherits from | SLAnimation : CALayer |
|---|---|
| Declared in | SLSquallAnimation.h SLSquallAnimation.mm |
Overview
SLSquallAnimation is backed by a CADisplayLink and updates the animation whenever the display refreshes.
This type of animation will be the most faithful to what you are seeing in After Effects.
All of the updates occur on the main thread. SLSquallAnimations are therefore more susceptible to stalls from heavy CPU load than SLCoreAnimation.
SLSquallAnimation* animation = [SLSquallAnimation animationFromBundle:@"myAnimation.sqa"];
[animation play];
[self.layer addSublayer:animation];
SWIFT
let animation = SLCoreAnimation(fromBundle: "myAnimation.sqa")
animation.play()
self.view.layer.addSublayer(animation!);
@performance Do not use in highly constrained performance situations.
Other Methods
+ animationFromBundle:error:
Convenience method to initialize a SLSquallAnimation with a .sqa file contained in your main app bundle.
+ (SLSquallAnimation *_Nonnull)animationFromBundle:(NSString *_Nonnull)fileName error:(NSError *_Nullable *_Nullable)errorParameters
fileName |
.sqa file name of the animation to build |
|---|---|
error |
Optional pointer to a NSError |
Return Value
SLSquallAnimation or nil on error
Declared In
SLSquallAnimation.h
+ animationFromPath:error:
Convenience method to initialize a SLSquallAnimation with a .sqa file at the passed-in path.
+ (SLSquallAnimation *_Nonnull)animationFromPath:(NSString *_Nonnull)path error:(NSError *_Nullable *_Nullable)errorParameters
path |
Path to the .sqa file |
|---|---|
error |
Optional pointer to a NSError |
Return Value
SLSquallAnimation or nil on error
Declared In
SLSquallAnimation.h
+ animationFromBundle:
Convenience method to initialize an SLSquallAnimation with an animation file contained in your main app bundle.
+ (SLSquallAnimation *_Nullable)animationFromBundle:(NSString *_Nonnull)fileNameParameters
fileName |
.sqa file name of the animation to build |
|---|
Return Value
SLSquallAnimation or nil on error
Declared In
SLSquallAnimation.h
– parentLayerWithName:toLayer:error:
This method allows you to have an existing layer in your app inherit the 2D (!) transform transformations (position, scale, rotation, anchor point) from a layer in your AE animation. It works exactly like the parenting behavior in After Effects. Place your app layer wherever you need it, add it to the layer hierarchy and then call this method to tie it to a specific AE layer. The app layer will now behave as if glued to this AE layer.
- (void)parentLayerWithName:(NSString *_Nonnull)layerName toLayer:(CALayer *_Nonnull)layer error:(NSError *_Nullable *_Nullable)errorParameters
layerName |
AE layer name of the parent layer. Make sure it is unique. |
|---|---|
layer |
App layer to inherit the transformation of the AE layer. Must be part of the layer hierarchy. |
error |
Optional pointer to a NSError |
Discussion
Warning: Do not modify the transform property on the app layer while the parent-child relationship.
Warning: Does not honor 3D transformations. is active.
See Also
Declared In
SLSquallAnimation.h
– removeParentFromLayer:
Call this method to dissolve a parent-child relationship.
- (void)removeParentFromLayer:(CALayer *_Nonnull)layerParameters
layer |
The app layer that is tied to an AE layer. |
|---|
Declared In
SLSquallAnimation.h
Other Methods
– setTime:
Time of the animation. Clamped to 0 and animation duration. (0 and 1 in evaluation mode).
- (void)setTime:(NSTimeInterval)timeDeclared In
SLAnimation.h
– time
Time of the animation. Clamped to 0 and animation duration. (0 and 1 in evaluation mode).
- (NSTimeInterval)timeDeclared In
SLAnimation.h
– setRate:
Determines the rate of playback of the animation. Default: 0.0
- (void)setRate:(CGFloat)rateDeclared In
SLAnimation.h
– setProgress:
Playback progression of the animation. Progress = time/animationDuration.
- (void)setProgress:(CGFloat)progressDeclared In
SLAnimation.h
– progress
Playback progression of the animation. Progress = time/animationDuration.
- (CGFloat)progressDeclared In
SLAnimation.h
– buildWithInformation:
Build an animation with an SLAnimationInformation object output by SLReader. It is usually easier to use one of the convencience methods to build an animation but this gives you the oportunity to tweak some settings before building the animation, e.g. adding an SLCoreAnimationBuildDelegate.
- (void)buildWithInformation:(SLAnimationInformation *)buildInformationParameters
buildInformation |
information used to build the animation |
|---|
Discussion
SLReader *reader = [[SLReader alloc] init];
NSError* error;
SLAnimationInformation *animationInformation = [reader parseFileFromBundle:@"myAnimation.sqa" error:&error];
if (!error) {
SLSquallAnimation* animation = [[SLSquallAnimation alloc] init];
[animation buildWithInformation:animationInformation];
[self.layer addSublayer:animation];
[animation play];
} else {
NSLog(@"error %@", error);
}
SWIFT
let reader = SLReader()
var animationInformation : SLAnimationInformation?
do {
animationInformation = try reader.parseFileFromBundle("myAnimation.sqa")
} catch {
print("error \(error)")
}
if animationInformation != nil {
let animation = SLSquallAnimation.init()
animation.buildWithInformation(animationInfo)
animation.play()
self.layer.addSublayer(animation)
}
Declared In
SLAnimation.h
– isPaused
Convenience method to test if the animation is currently paused. Equals rate == 0.0.
- (BOOL)isPausedReturn Value
BOOL
Declared In
SLAnimation.h