appleguy
29897297c5
Merge pull request #913 from Adlai-Holler/WorkaroundCellContentsLoading
...
Provide Basic Interface State Support for Nodes Outside of Cells
2015-12-05 17:35:28 -08:00
Adlai Holler
4284b6e23a
Set _interfaceState before calling fetchData et al.
2015-12-05 00:20:44 -08:00
Adlai Holler
9579420cd7
Add static constant ASInterfaceStateInHierarchy which we'll return if the node is not in a cell but its view is in a window
2015-12-04 12:47:36 -08:00
Scott Goodson
ee917ae210
Disable verbose logging, re-enable working window to merge WIP and avoid conflicts.
2015-12-01 16:48:59 -08:00
Scott Goodson
8bc65a9624
A few more debug changes for the removal of the working window.
2015-12-01 12:01:16 -08:00
Scott Goodson
9669f147ba
Efficiency improvements to consolidate display events for the window-less preload range.
2015-11-30 19:02:16 -08:00
Scott Goodson
7f59beb195
Initial experimental commit with functioning preloading, without the working window.
2015-11-30 19:01:57 -08:00
Scott Goodson
254f55b758
Add locking for ASInterfaceState. Misc. cleanup.
2015-11-29 14:57:43 -08:00
Scott Goodson
936730d46b
ASInterfaceStateVisible is now being driven by a new ASRangeHandlerVisible.
2015-11-29 13:24:42 -08:00
Scott Goodson
1ed22866b1
Working implementation of ASInterfaceState for Display and FetchData behaviors.
2015-11-28 22:48:30 -08:00
Scott Goodson
943cae7eb9
Placeholder implementation of -setInterfaceState:.
2015-11-28 18:22:03 -08:00
Scott Goodson
ff0e94b4e1
Introduce ASInterfaceState on ASDisplayNode.
...
Later, this will be added to ASViewController. Right now it is not hooked up to drive anything.
It will become the codepath that drives calls like -fetchData and -clearContents.
2015-11-28 18:22:03 -08:00
Scott Goodson
18dffb41e8
Fix an issue that could cause the view / layer to be created early by -clearContents.
2015-11-19 17:10:06 -08:00
Scott Goodson
2a0b9c8e14
Substantially improve behavior of nested Table & Collection Nodes
...
This ensures memory cleanup happens correctly and introduces a new test project
to support developing new features while stressing tough use cases for correctness.
2015-11-14 15:25:35 -08:00
Scott Goodson
3a4e9902e2
Remove a change that leaked from another diff in progress.
2015-11-07 23:35:58 -08:00
Scott Goodson
efa47d65dd
Re-add name method to fix tests (grr). Clean up positioning of responder methods in header.
2015-11-07 23:29:36 -08:00
Scott Goodson
e0f40d5644
Fix unusual cell content blanking issue when making existing cells much taller.
2015-11-07 23:08:53 -08:00
Huy Nguyen
cd31f884dd
Move ASDisplayNodePerformBlockOnMainThread to ASInternalHelpers
2015-10-29 16:09:36 +02:00
Huy Nguyen
b77522bf4f
Remove debugging names of ASDisplayNode and _ASDisplayLayer
...
- They are neither considered internally nor in tests. And when they are accidently considered, they cause tests to fail.
- Developers can easily set debugging names themselves whenever needed.
2015-10-26 07:44:59 +02:00
Huy Nguyen
53a3b76d6d
Add read-only names to UIView and CALayer
...
- Backed by name of the underlying ASDisplayNode.
- Remove goofy usages of `setValue:forKey:` in ASDisplayNodeTests and ASDisplayNodeAppearanceTests.
2015-10-26 07:44:05 +02:00
Huy Nguyen
fd0b3aaf52
Revert "Revert "Make ASDisplayNode.name Thread Safe""
...
This reverts commit 906d7c759b471eda67b95574199b6f91d46b6782.
2015-10-26 06:29:01 +02:00
rcancro
f164b97700
Put all ascii box methods into a Debugging category.
2015-10-19 08:32:14 -07:00
rcancro
3b983c5a50
Ascii art for layoutables
2015-10-16 16:15:29 -07:00
Huy Nguyen
c2fbd651da
Lock the property lock in ASDisplayNode __setSafeFrame
2015-10-07 22:21:43 +03:00
Huy Nguyen
8b7dc916f8
Fix indentations in ASDisplayNode:layout
2015-10-07 22:16:37 +03:00
Huy Nguyen
5a2fea7c1d
Use bounds and position to layout subnodes, instead of frame because it is not safe in case the transform property constains a non-identity transform.
2015-10-07 21:54:48 +03:00
Garrett Moon
8a70c8d416
Adds support for disabling and re-enabling should rasterize.
2015-10-06 11:47:13 -07:00
appleguy
fd88522f84
Merge pull request #636 from nguyenhuy/fixSetNeedsLayout
...
Use getters and setters while adjusting position of a node
2015-10-01 18:08:28 -07:00
Scott Goodson
a58844379c
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.
Follow-up work will include unit tests, revisiting names, and the header locations of definitions.
2015-09-27 19:14:36 -07:00
rcancro
2f3562fa09
scott's comments
2015-09-15 09:11:19 -07:00
rcancro
01be5acece
added a callback for initWithViewBlock/initWithLayerBlock
2015-09-14 20:36:08 -07:00
rcancro
b14e189bfb
Addressed comments to LayoutOptions PR
2015-09-11 16:07:18 -07:00
Ethan Nagel
8ea40a0265
Merge branch 'master' into ASDisplayNode-init-perf
...
Conflicts:
AsyncDisplayKit/ASDisplayNode.mm
AsyncDisplayKit/Private/ASDisplayNodeInternal.h
2015-09-09 22:17:49 -07:00
rcancro
2a030c9841
First thoughts on fixing the finalLayoutable method.
2015-09-09 09:13:02 -07:00
rcancro
5786bc1b5b
Fixed infinite recursion in finalLayoutable, removed child properties from ASLayoutSpecs
2015-09-08 09:50:47 -07:00
rcancro
cbaf178950
Hide ASLayoutOptions from the user
2015-09-08 09:50:47 -07:00
rcancro
15b3fd6eab
Moved ASLayoutable* properties into ASLayoutOptions class
2015-09-08 09:50:27 -07:00
rcancro
7446578f6f
Added method to ASLayoutable to allow a layoutable to override how it will be added to the layoutSpec.
...
Also moved ASStaticLayoutSpec to act more like the other layouts.
2015-09-08 09:49:40 -07:00
Ethan Nagel
a57f701a9e
style fix
2015-09-08 09:44:54 -07:00
Ethan Nagel
ed5ebbe450
update documentation.
2015-09-08 09:32:56 -07:00
appleguy
de795d577a
Merge pull request #635 from garrettmoon/fixShouldRasterizeSubnodes
...
Fix should rasterize subnodes
2015-09-03 01:28:43 -07:00
Huy Nguyen
4b82cc4051
While adjusting position of a node, use getters and setters. Those methods already check thread affinity and layer readiness.
2015-09-02 20:29:50 +03:00
Garrett Moon
32582fca58
Fixes shouldRasterizeSubnodes
...
Currently, subnodes of nodes marked with shouldRasterizeSubnodes do not get layout calls. This adds the call to layout and changes the __layout method to reference self.bounds instead of _layer.bounds.
Also adds support for corner radius when rasterizing subnodes.
2015-09-01 13:25:27 -07:00
Huy Nguyen
075c39e398
When relayout a node, preserve its frame origin.
2015-08-27 21:16:39 +03:00
rcancro
c06a6be188
ASLayoutSpec are temporarily mutable and have a more obj-c interface
2015-08-21 16:02:36 -07:00
Ethan Nagel
36bac93a53
ensure class is not nil
2015-08-20 10:55:15 -07:00
Ethan Nagel
5dabd20b54
Merge branch 'master' into ASDisplayNode-init-perf
...
Conflicts:
AsyncDisplayKit/ASDisplayNode.mm
2015-08-17 11:46:29 -07:00
Ethan Nagel
176e4962bf
Perform one-time initializations in +initialize when possible
2015-08-14 14:41:13 -07:00
Huy Nguyen
1313c11519
preferredFrameSize should be used even if neither -layoutSpecThatFits: nor -calculateSizeThatFits: is overridden by subclassses.
2015-08-13 07:53:00 +03:00
Huy Nguyen
c7043a193c
When a new preferredFrameSize is set, previously calculated layout should be invalidated so that the size will be picked up in the next layout pass.
2015-08-13 07:52:42 +03:00