Commit Graph

2149 Commits

Author SHA1 Message Date
ricky
ff0e2846e3 fixed formatting 2016-07-07 10:56:58 -07:00
ricky
7314a18ab4 rename containerWindowSize to containerSize 2016-07-07 10:55:18 -07:00
ricky
3512cf47aa assert we are on the main thread before accessing view. 2016-07-07 10:21:40 -07:00
ricky
ec4b666bc5 update ASTraitCollection header 2016-07-07 09:59:24 -07:00
ricky
637c4f3a9f [ASTraitCollection] Remove traitCollectionContext from ASTraitCollection; add containerWindowSize
Passing around a pointer was leading to crashes as the ASVC was the sole owner of the context. There are cases where the VC would dealloc while its subnodes were laying out. This could lead to the subnodes accessing a garbage pointer.
2016-07-07 09:23:37 -07:00
Adlai Holler
c62a4d3e79 [ASCollectionView] Greatly Improve Cell Node Resizing (#1853)
* [ASCollectionView] Initial pass at reducing double-sided animations

* [ASCollectionView] Always suppress animation during node size requery

* [ASCollectionView] Rejigger the invalidation logic to support animated size changes

* [ASCollectionView] Remove unused header

* [ASCollectionView] Change comment

* [ASDataController] Remove unused variable

* [ASCollectionView] When relayout animated due to cell size change, wait until next layout pass

* [ASCollectionView] Invalidate layout synchronously

* [ASCollectionView] Only read the layout object once

* [ASCollectionView] When size changes, wait for requery before layout

* [ASCollectionView] Sort of go back to using an empty update to handle node resizing

* [ASCollectionView] Remove unused constant

* [ASCollectionView] Address PR comments

* [ASCollectionView] Prevent nested [super performBatchUpdates:] calls
2016-07-06 14:13:52 -07:00
Hannah Troisi
682ddcfe51 [AsyncDisplayKit+Utilities.h] Convenience methods for creating resizable circles & rounded rects. (#1811)
* [AsyncDisplayKit+Utilities.h] UIImage category for performant (optionally rounded) flat color stretchable images

* treat clear background color as no background color (D99117)

* add borderWidth

* add several shorter methods per Scott's comment

* rename files and add to AsyncDisplayKit.h

* fix xcode project file

* update commentse
2016-07-04 16:34:16 -07:00
Michael Schneider
c20f452dca Remove check for [UIDevice systemVersion] check if running on iOS 7 (#1843) 2016-07-03 21:47:35 -07:00
Michael Schneider
9be2f1db4e Prevent calling endUpdatesAnimated:completion: in an unbalanced way 2016-07-02 10:17:09 -07:00
Adlai Holler
5d7f3b4293 Merge pull request #1819 from kielgillard/master
[ASDisplayNodeExtras] Collect subnodes passing the test
2016-07-02 08:55:51 -07:00
Adlai Holler
4d67b44944 Merge pull request #1808 from maicki/MSCacheSelectorFlagsNetworkImageNode
[ASNetworkImage] Use flags to cache instead of instance variables for caching respond to selector calls
2016-07-02 08:39:59 -07:00
Adlai Holler
f4ccb93969 Merge pull request #1788 from gazreese/ASVideoNode-overwrittenplaceholder
[ASVideoNode] issue #1782 Placeholder images are replaced by blanks during loading
2016-07-02 08:30:38 -07:00
Scott Goodson
d2d8b0a1cb [ASDisplayNode] Adjust behavior of -removeFromSupernode to ensure "root" nodes are removed from their superview/superlayer.
This situation is relatively uncommon.  If a user manually uses -[UIView addSubnode:], the convenience category method,
and then calls -[ASDisplayNode removeFromSuperview] -- we would bypass performing the actual removal as no supernode pointer
is set.  After further consideration, the special handling here to support divergence between the supernode pointer and
the view / layer hierarchy is not something we need to maintain going forward, and removing it makes addressing this easy.
2016-07-01 20:11:23 -07:00
Michael Schneider
9501299eed Use flags to cache instead of instance variables for caching respond to selector calls 2016-07-01 16:02:58 -07:00
Adlai Holler
a77a6eaaf5 Merge pull request #1820 from gazreese/ASCollectionView-tuning-parameters
[ASCollectionView] Tuning parameters not set
2016-07-01 15:09:01 -07:00
Adlai Holler
988098be26 Merge pull request #1837 from gazreese/ASVideoPlayerNode-placeholder-image
[ASVideoPlayerNode] Expose placeholder image for the underlying ASVideoNode
2016-07-01 14:50:29 -07:00
Adlai Holler
3814f42074 Merge pull request #1838 from levi/patch-18
[ASPagerNode] Add nodeForPageAtIndex:
2016-07-01 14:21:35 -07:00
Adlai Holler
96fb5b3261 Merge pull request #1786 from maicki/FixPlaceholderIsNotAppearing
[ASDisplayNode] Handle placeholder layer creation in case the size of the node changes after the initial placeholder layer was created
2016-07-01 13:54:01 -07:00
Adlai Holler
d8efa54f21 Merge pull request #1806 from maicki/MSAddASButtonNodePreferredFrameSize
[ASButtonNode] Add support for 'preferredFrameSize' to ASButtonNode
2016-07-01 13:50:33 -07:00
Adlai Holler
ebaa2c157e Remove aggregate CGRect initializers in ASDataController 2016-07-01 11:47:05 -07:00
Levi McCallum
53bc126ae5 Add implementation of nodeForPageAtIndex: 2016-07-01 09:42:39 -07:00
Levi McCallum
b1ceab7a61 Add nodeForPageAtIndex: to header and clean up doc 2016-07-01 09:39:36 -07:00
Gareth Reese
0a5f03e8fc Merge master into ASVideoPlayerNode-placeholder-image 2016-07-01 15:33:00 +01:00
Gareth Reese
09a344b669 [ASVideoPlayerNode] Expose the placeholder image for the video player node 2016-07-01 15:15:10 +01:00
ricky
8c3025bb12 [ASDisplayNode] added asyncTraitCollectionDidChange method (#1831)
Subclasses can override this method to react to a trait collection change
2016-06-30 19:45:29 -07:00
Michael Schneider
8804342a98 Don't propagate trait collections to cells if the node is not loaded yet (#1833)
This fixes an issue where the propagation of trait collections trigger are creation of the node if the node view was not loaded yet.
2016-06-30 19:44:40 -07:00
Michael Schneider
53f22da1dc Code style improvements 2016-06-30 07:30:57 -07:00
Michael Schneider
d1b4e07d0f Add support for 'preferredFrameSize' to ASButtonNode 2016-06-30 07:30:57 -07:00
Michael Schneider
5f7cdbd9ca Handle placeholder layer creation in case the size of the node changed after the initial placeholder layer was created 2016-06-30 07:30:17 -07:00
Michael Schneider
f0e96cc808 Change @import to #import 2016-06-30 07:18:30 -07:00
Adlai Holler
284160b07b Merge pull request #1821 from maicki/MSAddConformsToProtocolToProxy
[ASDelegateProxy] Add `conformsToProtocol:`
2016-06-29 09:18:14 -07:00
Adlai Holler
45ef91171d [ASTextNode] Release Lock Sooner in -setAttributedText: (#1828)
* [ASTextNode] Release lock sooner in -setAttributedText:

* [ASTextNode] Expand the critical scope a bit
2016-06-28 20:18:30 -07:00
Gareth Reese
1d356242fd [ASVideoNode] Ensure that observer methods don't observer all other ASVideoNode objects 2016-06-28 15:41:26 +01:00
Adlai Holler
d82e1ce95b Merge pull request #1812 from facebook/AHUpdateIntegrity
[ASDataController] Improve Update Handling, Esp. Reloading Sections
2016-06-27 18:11:11 -07:00
Michael Schneider
4091d70003 Add conformsToProtocol: to ASDelegateProxy 2016-06-27 06:38:42 -07:00
Gareth Reese
d55621c285 [ASCollectionView] Tuning parameters not set 2016-06-27 14:07:00 +01:00
Hannah Troisi
db04f4b851 [ASTableView] Add constrainedSizeForRowAtIndexPath: to control row heights from delegate (#1769)
* [ASTableView] constrainedSizeForRowAtIndexPath

* Quick fix to header file

* Switch to Delegate from DataSource.

* Update testing variables to reflect switch to delegate
2016-06-26 23:09:53 -07:00
Kiel Gillard
56a5343496 Collect subnodes passing the test, not the node with the subnodes passing the test. 2016-06-27 11:29:28 +10:00
Hannah Troisi
e4abe898d5 [ASEditableTextNode] Support UITextInputTraits pass-through methods (threadsafe for use before view creation) (#1809)
* [ASEditableTextNode] Support UITextInputTraits

* consistent property attributes

* remove logging, fix tests to account for UIKit weirdness

* address @appleguy's comments
2016-06-24 16:53:10 -07:00
Michael Schneider
3fb0e18504 [ASTextNode] Further locking improvements for ASTextNode (#1813)
* Further locking improvements for ASTextNode

* Remove tighter holding of lock as this operation needs to complete with the lock held
2016-06-24 16:49:05 -07:00
Adlai Holler
0a354f8f4e [ASDataController] Remove implementation for unused hooks 2016-06-24 15:48:23 -07:00
Adlai Holler
211dcdf0e8 [_ASHierarchyChangeSet] Remove unused new method 2016-06-24 13:56:08 -07:00
Adlai Holler
0a525a3c16 [ASFlowLayoutController] Fix enumeration bug in ASFlowLayoutController 2016-06-24 13:52:16 -07:00
Adlai Holler
27dc52c0c5 [ASHierarchyChangeSet] Document reload-splitting behavior 2016-06-24 13:20:06 -07:00
Adlai Holler
304f8f6cb1 [ASHierarchyChangeSet] Clean up and add documentation 2016-06-24 13:17:00 -07:00
Adlai Holler
84e8b2686c [ASDataController] Combine isolated reloads into a batch 2016-06-24 13:03:51 -07:00
Adlai Holler
d8d2524b89 One more critical update integrity fix 2016-06-24 11:12:37 -07:00
Adlai Holler
681876bd59 Fix more issues with data integrity 2016-06-24 11:12:37 -07:00
Adlai Holler
9c70cec8d8 Improve update handling more 2016-06-24 11:12:37 -07:00
Adlai Holler
35056f708b [ASDataController] Improve update handling 2016-06-24 11:12:37 -07:00