Commit Graph

1396 Commits

Author SHA1 Message Date
Scott Goodson
ca57059322 New ASDelegateProxy class to unify logic for Table & Collection forwarding. Fix dealloc-during-animation crash. 2015-12-23 20:01:52 -08:00
Scott Goodson
928c440b4c Several small optimizations, especially to _ASPendingState and other hot paths. 2015-12-23 16:38:33 -08:00
appleguy
dd6ddfc0a2 Merge pull request #976 from facebook/CollectionRefactoring
Make ASCollectionView always create an ASCollectionNode.  Add visibility and interfaceState change notifications.
2015-12-23 13:09:42 -08:00
appleguy
c968b8dd9e Merge pull request #978 from aaronschubert0/ASMapNode
[ASMapNode] Greatly improve the internal logic of ASMapNode. Also fixes bug #971
2015-12-23 12:55:58 -08:00
Scott Goodson
38d9ceb230 Fix corrupted project file from merge. 2015-12-23 12:52:38 -08:00
Aaron Schubert
e35697d162 Greatly improve the internal logic of ASMapNode. Also fixes bug #971 2015-12-23 10:19:05 +00:00
Scott Goodson
fa4308ba7c Merge branch 'master' into CollectionRefactoring 2015-12-22 23:38:01 -08:00
Scott Goodson
9944305cfd Fix tests to avoid newly deprecated ASCollectionView init variant with asyncDataFetching argument. 2015-12-22 23:36:29 -08:00
Scott Goodson
ff4f2bb270 Tweak ASCollectionViewFlowLayoutInspector.h file to make it Public as intended. 2015-12-22 22:19:53 -08:00
appleguy
c020dcff1c Merge pull request #963 from 1nput0utput/ASButtonNodeExposeContentAignment
[ASButtonNode] Content alignement properties for image and text.
2015-12-22 22:14:03 -08:00
Scott Goodson
065625f246 Make ASCollectionView always create an ASCollectionNode. Add visibilityDidChange:, interfaceStateDidChange:fromState: 2015-12-22 21:46:46 -08:00
Rajinder Ramgarhia
108ce6d8fc Set horizontal & vertical alignment default to center. Use ivar to set layout. 2015-12-22 14:23:21 -05:00
Rajinder Ramgarhia
d7b128e19b ASButtonNode content alignement properties 2015-12-22 14:23:21 -05:00
appleguy
d7492b331f Merge pull request #968 from facebook/LockHandlingOnRemoveFromSupernode
[ASDisplayNode] Release the lock before setting supernode pointer to nil, in case we are deallocated.
2015-12-21 20:55:54 -08:00
appleguy
af9f8dfea7 Merge pull request #931 from lappp9/cells-with-view-controllers
[ASCellNode] Support for wrapping UIViewControllers
2015-12-21 20:55:28 -08:00
appleguy
676a1d3c0a Merge pull request #964 from levi/master
[ASPagerNode] Integrate feedback from initial review, incl. move view properties to -didLoad.
2015-12-21 20:47:39 -08:00
Scott Goodson
06688f7061 Release the lock before setting supernode pointer to nil, in case we are deallocated. 2015-12-21 19:57:39 -08:00
Levi McCallum
10030dfe70 Add scroll to page helper to ASPagerNode 2015-12-21 09:07:48 -06:00
Levi McCallum
ad4db73b95 Add tuning params method forwards to ASCollectionNode 2015-12-21 09:01:19 -06:00
Levi McCallum
2bb7fc43f5 Add reloadData forward methods to ASCollectionNode 2015-12-21 08:58:55 -06:00
Levi McCallum
63b493a95b Increase preload tuning param range in pager node 2015-12-21 08:54:13 -06:00
Levi McCallum
53d2af6ca1 Move PagerNode setup into didLoad 2015-12-21 08:52:41 -06:00
Luke Parham
322caaeb6a wip after review 2015-12-21 01:24:46 -06:00
appleguy
841bed624d Merge pull request #962 from facebook/OptimizeVisibilityNotificationDisablement
[ASDisplayNode] Order-of-magnitude speedup in handling of "disable visibility" notifications.
2015-12-20 16:05:14 -08:00
Scott Goodson
b8602d1073 Fix ASBasicImageDownloader tests - prevent use of init / new instead of +sharedImageDownloader. 2015-12-20 15:42:57 -08:00
Scott Goodson
97bb05d326 Order-of-magnitude speedup in handling of "disable visibility notifications"
Before, it was expensive to check this value, even though it was rarely set.
Now the cost is moved to setting the value, and is made very cheap to check with _hierarchyState.
2015-12-20 12:47:42 -08:00
appleguy
b787020310 Merge pull request #961 from facebook/AutomagicalNodeHierarchyHookups
[ASDisplayNode] Automatically find and hook up node hierarchies, even when -addSubview: is used directly.
2015-12-20 12:06:39 -08:00
Scott Goodson
92126f0d66 Support surprisingly nice automatic behavior for the unsupported case of view-backed nodes as children of layer-backed ones. 2015-12-19 20:33:28 -08:00
Scott Goodson
bbc0452a7a Improve UIView & CALayer handling of -addSubnode:, and ensure node hierarchies are hooked up even when addSubview: is used directly. 2015-12-19 18:29:05 -08:00
Scott Goodson
8ce0f2ad66 Bump podfile version to 1.9.4. 2015-12-19 13:10:36 -08:00
appleguy
2128b133a5 Merge pull request #959 from facebook/TableHeaderFooterViewNodes
Enable node detection for tableHeaderView and tableFooterView on ASTableView.
2015-12-18 22:13:23 -08:00
Scott Goodson
5745cfd0d8 Enable node detection for tableHeaderView and tableFooterView on ASTableView.
Ensure they behave as managed nodes - which prevents them from clearContents-ing
their subnodes when the table reloads, as they will be onscreen as long as the table is.
2015-12-18 21:58:58 -08:00
appleguy
16b0bd94fa Merge pull request #957 from facebook/HierarchyAndInterfaceStateSync
Ensure that .hierarchyState is propogated to new subnodes early enough for us to reference it as the views are added.
2015-12-18 20:26:35 -08:00
Scott Goodson
32a99e3d41 Ensure that .hierarchyState is propogated to new subnodes early enough for us to reference it as the views are added. 2015-12-18 19:52:47 -08:00
appleguy
834cf79c4e Merge pull request #905 from facebook/RemoveWorkingWindow
[ASRangeController] Implement #if that controls removal of the offscreen UIWindow used for render-ahead.  Leave enabled for now.
2015-12-18 19:43:02 -08:00
Scott Goodson
578d0f4f78 Final cleanup for initial version of removing the UIWindow-based render range.
The UIWindow mode remains enabled by default, but rendering and the test suite works correctly both enabled and disabled.
2015-12-18 18:47:08 -08:00
Scott Goodson
c6759671e6 Merge branch 'master' into RemoveWorkingWindow 2015-12-18 18:25:14 -08:00
appleguy
e15a7db773 Merge pull request #925 from levi/levi/pager-node
[ASPagerNode] Initial implementation of a paging-specific ASCollectionNode subclass.
2015-12-18 18:20:25 -08:00
appleguy
8a216dd595 Merge pull request #956 from facebook/ASDisplayNodeName
Remove CALayer and UIView implementations of "name" property.
2015-12-18 17:34:18 -08:00
Scott Goodson
ee152eadf1 Remove CALayer and UIView implementations of "name" property.
This avoids CoreAnimation from capturing the name from a background thread deep within the internals
of AVPlayerLayer, which commits transactions off the main thread.  If the main thread is also accessing
properties that require the lock, in very specific app architectures relying on AVPlayerLayer, this
can cause a deadlock.

The "name" property is primarily used by ASDK's unit test infrastructure, so I'm leaving it in place for
that purpose - and it may still be used for debugging, if someone wants to set it.  It will remain
possible to get the node from a layer or view with asyncdisplaykit_node, and access name from there.
2015-12-18 16:01:19 -08:00
appleguy
ca11efb187 Merge pull request #951 from facebook/ASTextNodeRendererInvalidationEfficiency
[ASTextNode] Renderer should not be invalidated if bounds size matches calculatedSize, even if it doesn't match constrainedSize.
2015-12-17 22:27:52 -08:00
Scott Goodson
1872ac07aa [ASTextNode] Renderer should not be invalidated if bounds size matches calculatedSize, even if it doesn't match constrainedSize. 2015-12-17 22:12:29 -08:00
appleguy
ed1c71d588 Merge pull request #924 from aaronschubert0/ASMapNode
Improve ASMapNode to get ready for 2.0
2015-12-17 19:34:50 -08:00
appleguy
3b5fb17f81 Merge pull request #942 from bsmith11/ASTextKitCoreTextAttributesBug
ASTextKit CoreText attributes cleansing should not remove NSParagraphStyle attributes
2015-12-17 19:18:43 -08:00
appleguy
d56a53d9aa Merge pull request #941 from samhsiung/fix_truncation
Fix ASTextNode truncated size calculation ignoring attributes in the last line, by syncing the truncationString's attributes with the primary attributedString.
2015-12-17 18:17:48 -08:00
appleguy
bc6e5fee1a Merge pull request #949 from rcancro/roundMin
Do not round when resolving relative dimensions
2015-12-17 15:34:12 -08:00
rcancro
c6f4aff4ef Do not round when resolving relative dimensions
When laying out a node I got to a point where the constrained width was min 132.22222pts and max width was 100%. When resolving the relative size to pts it rounded to 132pt. This caused an assert in ASSizeRangeMake because the min width (132.222pt) was bigger than the max width (132pt)
2015-12-17 15:20:40 -08:00
Luke Parham
6cbc51dc61 cleaned up comments 2015-12-16 23:44:17 -06:00
Levi McCallum
669fd38dd4 Fix project includes for ASPagerNode 2015-12-16 17:53:21 -08:00
Levi McCallum
1b5ac3615e Add ASPagerNode to framework header 2015-12-16 17:53:21 -08:00