| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
AsyncDisplayKit is an iOS framework that keeps even the most complex user interfaces smooth and responsive. It was originally built to make Facebook's Paper possible, and goes hand-in-hand with pop's physics-based animations — but it's just as powerful with UIKit Dynamics and conventional app designs.
ASDK is available on CocoaPods. Add the following to your Podfile:
pod 'AsyncDisplayKit'(ASDK can also be used as a regular static library: Copy the project to your codebase manually, adding AsyncDisplayKit.xcodeproj to your workspace. Add libAsyncDisplayKit.a, AssetsLibrary, and Photos to the "Link Binary With Libraries" build phase. Include -lc++ -ObjC in your project linker flags.)
Import the framework header, or create an Objective-C bridging header if you're using Swift:
#import <AsyncDisplayKit/AsyncDisplayKit.h>AsyncDisplayKit Nodes are a thread-safe abstraction layer over UIViews and CALayers:
You can construct entire node hierarchies in parallel, or instantiate and size a single node on a background thread — for example, you could do something like this in a UIViewController:
dispatch_async(_backgroundQueue, ^{
ASTextNode *node = [[ASTextNode alloc] init];
node.attributedString = [[NSAttributedString alloc] initWithString:@"hello!"
attributes:nil];
[node measure:CGSizeMake(screenWidth, FLT_MAX)];
node.frame = (CGRect){ CGPointZero, node.calculatedSize };
// self.view isn't a node, so we can only use it on the main thread
dispatch_sync(dispatch_get_main_queue(), ^{
[self.view addSubview:node.view];
});
});AsyncDisplayKit at a glance:
You can also easily create your own nodes to implement node hierarchies or custom drawing.
AsyncDisplayKit has extensive unit test coverage. You'll need to run pod install in the root AsyncDisplayKit directory to set up OCMock.
See the CONTRIBUTING file for how to help out.
AsyncDisplayKit is BSD-licensed. We also provide an additional patent grant.
The files in the /examples directory are licensed under a separate license as specified in each file; documentation is licensed CC-BY-4.0.
| Back | FazBrowse Home | New Git URL |