mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00

git-subtree-dir: submodules/AsyncDisplayKit git-subtree-mainline: d06f423e0ed3df1fed9bd10d79ee312a9179b632 git-subtree-split: 02bedc12816e251ad71777f9d2578329b6d2bef6
233 lines
8.5 KiB
Markdown
233 lines
8.5 KiB
Markdown
# Sample projects
|
|
|
|
## Building
|
|
|
|
Run `pod install` in each sample project directory to set up their
|
|
dependencies.
|
|
|
|
## Example Catalog
|
|
|
|
### ASCollectionView [ObjC]
|
|
|
|

|
|
|
|
Featuring:
|
|
- ASCollectionView with header/footer supplementary node support
|
|
- ASCollectionView batch API
|
|
- ASDelegateProxy
|
|
|
|
### ASDKgram [ObjC]
|
|
|
|

|
|
|
|
### ASDKLayoutTransition [ObjC]
|
|
|
|

|
|
|
|
### ASDKTube [ObjC]
|
|
|
|

|
|
|
|
### ASMapNode [ObjC]
|
|
|
|

|
|
|
|
### ASTableViewStressTest [ObjC]
|
|
|
|

|
|
|
|
### ASViewController [ObjC]
|
|
|
|

|
|
|
|
Featuring:
|
|
- ASViewController
|
|
- ASTableView
|
|
- ASMultiplexImageNode
|
|
- ASLayoutSpec
|
|
|
|
### AsyncDisplayKitOverview [ObjC]
|
|
|
|

|
|
|
|
### BackgroundPropertySetting [Swift]
|
|
|
|

|
|
|
|
Featuring:
|
|
- ASDK Swift compatibility
|
|
- ASViewController
|
|
- ASCollectionView
|
|
- thread affinity
|
|
- ASLayoutSpec
|
|
|
|
### CarthageBuildTest
|
|
### CatDealsCollectionView [ObjC]
|
|
|
|

|
|
|
|
Featuring:
|
|
- ASCollectionView
|
|
- ASRangeTuningParameters
|
|
- Placeholder Images
|
|
- ASLayoutSpec
|
|
|
|
### CollectionViewWithViewControllerCells [ObjC]
|
|
|
|

|
|
|
|
Featuring:
|
|
- custom collection view layout
|
|
- ASLayoutSpec
|
|
- ASMultiplexImageNode
|
|
|
|
### CustomCollectionView [ObjC+Swift]
|
|
|
|

|
|
|
|
Featuring:
|
|
- custom collection view layout
|
|
- ASCollectionView with sections
|
|
|
|
### EditableText [ObjC]
|
|
|
|

|
|
|
|
Featuring:
|
|
- ASEditableTextNode
|
|
|
|
### HorizontalwithinVerticalScrolling [ObjC]
|
|
|
|

|
|
|
|
Featuring:
|
|
- UIViewController with ASTableView
|
|
- ASCollectionView
|
|
- ASCellNode
|
|
|
|
### Kittens [ObjC]
|
|
|
|

|
|
|
|
Featuring:
|
|
- UIViewController with ASTableView
|
|
- ASCellNodes with ASNetworkImageNode and ASTextNode
|
|
|
|
### LayoutSpecPlayground [ObjC]
|
|
|
|

|
|
|
|
### Multiplex [ObjC]
|
|
|
|

|
|
|
|
Featuring:
|
|
- ASMultiplexImageNode (with artificial delay inserted)
|
|
- ASLayoutSpec
|
|
|
|
### PagerNode [ObjC]
|
|
|
|

|
|
|
|
Featuring:
|
|
- ASPagerNode
|
|
|
|
### Placeholders [ObjC]
|
|
|
|
Featuring:
|
|
- ASDisplayNodes now have an overidable method -placeholderImage that lets you provide a custom UIImage to display while a node is displaying asyncronously. The default implementation of this method returns nil and thus does nothing. A provided example project also demonstrates using the placeholder API.
|
|
|
|
### SocialAppLayout [ObjC]
|
|
|
|

|
|
|
|
Featuring:
|
|
- ASLayoutSpec
|
|
- UIViewController with ASTableView
|
|
|
|
### Swift [Swift]
|
|
|
|

|
|
|
|
Featuring:
|
|
- ASViewController with ASTableNode
|
|
|
|
### SynchronousConcurrency [ObjC]
|
|
|
|

|
|
|
|
Implementation of Synchronous Concurrency features for AsyncDisplayKit 2.0
|
|
|
|
This provides internal features on _ASAsyncTransaction and ASDisplayNode to facilitate
|
|
implementing public API that allows clients to choose if they would prefer to block
|
|
on the completion of unfinished rendering, rather than allow a placeholder state to
|
|
become visible.
|
|
|
|
The internal features are:
|
|
-[_ASAsyncTransaction waitUntilComplete]
|
|
-[ASDisplayNode recursivelyEnsureDisplay]
|
|
|
|
Also provided are two such implementations:
|
|
-[ASCellNode setNeverShowPlaceholders:], which integrates with both Tables and Collections
|
|
-[ASViewController setNeverShowPlaceholders:], which should work with Nav and Tab controllers.
|
|
|
|
Lastly, on ASDisplayNode, a new property .shouldBypassEnsureDisplay allows individual node types
|
|
to exempt themselves from blocking the main thread on their display.
|
|
|
|
By implementing the feature at the ASCellNode level rather than ASTableView & ASCollectionView,
|
|
developers can retain fine-grained control on display characteristics. For example, certain
|
|
cell types may be appropriate to display to the user with placeholders, whereas others may not.
|
|
|
|
### SynchronousKittens [ObjC]
|
|
|
|
### VerticalWithinHorizontalScrolling [ObjC]
|
|
|
|

|
|
|
|
Features:
|
|
- UIViewController containing ASPagerNode containing ASTableNodes
|
|
|
|
### Videos [ObjC]
|
|
|
|

|
|
|
|
Featuring:
|
|
- ASVideoNode
|
|
|
|
### VideoTableView [ObjC]
|
|
|
|

|
|
|
|
Featuring:
|
|
- ASVideoNode
|
|
- ASTableView
|
|
- ASCellNode
|
|
|
|
### LayoutSpecExamples [ObjC]
|
|
|
|

|
|
|
|
Featuring:
|
|
- ASStackLayoutSpec
|
|
- ASInsetLayoutSpec
|
|
- ASOverlayLayoutSpec
|
|
- ASAbsoluteLayoutSpec
|
|
- ASBackgroundLayoutSpec
|
|
- ASCornerLayoutSpec
|
|
|
|
There is an associated swift version app: LayoutSpecExamples-Swift with same logic implementation.
|
|
|
|
## License
|
|
|
|
This file provided by Facebook is for non-commercial testing and evaluation
|
|
purposes only. Facebook reserves all rights not expressly granted.
|
|
|
|
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
|
|
FACEBOOK 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.
|
|
|
|
|