* Move derived data from ~ to ~/ASDKDerivedData
* Add example mode
* Some more improvements
* Some more improvements
* Some more improvements
* Improve cleaning derived data
* [Yoga + AsyncDisplayKit] Initial commit for supporting Yoga-powered layout calculation.
Because this results in ASLayout objects, it preserve support for automaticallyManagesSubnodes
as well as the animated transition system. More work remains to vet performance of the new mode,
and it will remain in +Beta for the forseeable future.
I'm not sure that this should ever be used as the primary ASDK layout system, but it should remain an
option for some apps to experiment with if they require an implementation that more strictly mirrors
W3C standard Flexbox.
* [Yoga] Improve usage of ASHierarchyState to ensure simultaneous yoga layouts can't happen.
* [Yoga] Strictly minimize the impact of the Yoga integration on existing code.
Created new file ASDisplayNode+Yoga.mm, reduced size and number of integration points in core code.
* [Yoga] Figured out how to further reduce ASDisplayNode.mm impact by allocating _yogaNode in property accessor, and changing all accesses to use the property.
* Make ASTableView/ASCollectionView delegate/dataSource unavailable, route setDelegate: to setAsyncDelegate:
* Remove deprecated method from example
* Drop down from unavailable to deprecated
Order the methods so the most valuable one, as_imageNamed, is more immediately noticeable.
Also added a block comment describing its purpose and usage suggestions.
Separated @implementation for fairly unrelated methods by categories.
* [ASNetworkImageNode] Assert if both URL and image are set
Here's one other idea for addressing this problem. Essentially,
we assert if you've set both the URL and the image. I've played around
with Pinterest and there's only one case where we hit this (the transition).
So I've also added another method (which is a bummer, it's weird I know)
but there's one good reason to add this method, ephemeralImage, which is
the user doesn't have to manually clear it out like they would if they
used defaultImage to save memory.
Putting this up for discussion.
* Fix comment
* Oh yeah, @dynamic, thanks @adlai
* Remove ephemeralImage
* Allow UICollectionViewLayout to give us a layout inspector, always call the didChangeDelegate/didChangeDataSource on binding
* Make an assertion
* Update the tests
* Tests use actual layout inspector
* Be more consistent
* Add support for setting non-fatal error block
* Better documentation and fix typos
* Added ASDisplayNodeAssertNonFatal macro that asserts in dev and call block in prod
* Make non fatal error code equals to 1
* Add support for condition in ASDisplayNodeAssertNonFatal
* Only call non fatal block if condition isn’t satisfied
* Remove taking a snapshot in the default default layout transition code
* Set groupOpacity for root node of animation to true before and restore after animation finished
This also supports supplementary nodes. It builds off of Adlai's .interop flag but makes necessary
improvements for all of the delegate methods to work in practice with heterogenous cell types.
This was regressed by the large project file changes in 404795dc02aa57b167223bfaee7c380907022ca1
I don't yet have full context on the goals of that change, but it's definitely necessary to have the .pch
with the current requirements of the project. This line ensures that Cocoapods adds it.
Caching the envTraitCollection upon creation of `ASIndexedNodeContext` can lead to it becoming out of date. Ask the `id<ASEnvironment>` object for the trait collection when we need it.
* [ASNodeController] initial commit for node controller class
* create <ASInterfaceState> protocol, -[ASDisplayNode interfaceDelegate], and use these to forward to ASNodeController
* rename ASInterfaceStateDelegate, fix setting in it ASNodeController.mm
- The crash mainly occurs on these old iOS versions (~93%) and p6.16.1. There might be a client code issue that causes this crash, but it's hard to tell if it also crashes on newer iOS versions AND p6.17.
- Let's disable this feature for now and re-investigate if it resurfaces on p6.19 and iOS 9/10.
* Reimplement IGListKit support in a cleaner way
* Rename and fix some stuff
* Fix supplementaries more
* Update docs
* Update test
* Cleanup minor things
* Tweak it
* Indentation
* Remove irrelevant changes
* Break out cell into its own file
* Fix indentation
* Address feedback
* Rejigger our flow layout supplementary support to make more sense.
* Support old protocol
* Update
* Update deprecation message
* Undeprecate insetForSection method, because it actually _does_ still work
* Update the tests
* Remove irrelevant junk
* Remove cast, add pragma