Commit Graph
4622 Commits
Author SHA1 Message Date
Scott Goodson 06cfe68cbd Clean up ASDataController for readability & API naming consistency. 2015-06-27 11:06:54 -07:00
Jack Flintermann 5889c7019e basic unit tests 2015-06-27 03:19:52 -04:00
Jack Flintermann 8a200078bd make ASEditableTextField properly subclass responder methods 2015-06-27 03:19:51 -04:00
Jack Flintermann 540eeec79b move UIresponder methods out of UIView bridging category 2015-06-27 03:19:51 -04:00
Jack Flintermann 0b14d42033 add UIResponder methods to ASDisplayNode 2015-06-27 03:19:51 -04:00
Paul Young 7d464fb6b8 Merge branch 'master' into framework-target
Conflicts:
	AsyncDisplayKit.xcodeproj/project.pbxproj
2015-06-26 23:31:43 +01:00
appleguy da4ae469d8 Merge pull request #514 from eanagel/astableview-programmatic-scrolling-fix-v3
ASTableView programmatic scrolling fix w/contiguous guarantee
2015-06-26 13:18:54 -07:00
appleguy 585a70d72c Merge pull request #511 from stripe-internal/jack-fix-podspec
Exclude ASDealloc2MainObject.h from main spec
2015-06-26 13:09:07 -07:00
Huy Nguyen 95e787b226 Remove stack children type:
- ASLayoutable requires mutable properties that are used when attached to a stack layout.
- Thus, ASLayoutable objects (including ASDisplayNode) can be injected into stack layout directly.
- ASStackLayoutNodeChild no longer needed.
- Tests and Kitten sample updated.
2015-06-26 11:47:42 +07:00
Huy Nguyen f588bceb4d Introduce ASLayoutable and eliminate ASCompositeNode:
- Both ASDisplayNode and ASLayoutNode conforms to this protocol.
- ASDisplayNode can be embeded directly into layout graph.
- Eliminate ASCompositeNode.
- Fix ASStaticSizeDisplayNode not recpect min constrained size.
- Updated tests.
2015-06-26 09:29:16 +07:00
Ethan Nagel ae523f4fce better logic for detecting when the pending index path is before or after the visible index paths 2015-06-25 09:53:36 -07:00
Jack Flintermann 6bf8ec5b03 exclude ASDealloc2MainObject.h from main spec 2015-06-25 10:47:10 -04:00
Huy Nguyen 697b9f4c3c Update Kittens example to work with the improved layout system. 2015-06-25 11:36:02 +07:00
Huy Nguyen 99fe79339d Simplify ASDimension:
- ASRelativeSize and ASRelativeSizeRange are used only by ASStaticLayoutNode. They are declared in a standalone header.
- ASDimension contains a minimal set of new size types required to use the common layouts. Thus minimize the learning curve.
2015-06-25 11:36:02 +07:00
Huy Nguyen 259bbf22bc Fix naming conventions on equal and resolve methods of new size types. 2015-06-25 11:34:37 +07:00
Huy Nguyen 93564899fd Remove Auto size type. 2015-06-25 11:34:37 +07:00
Huy Nguyen 65aa677afc ASDisplayNodeCAssertPositiveReal and ASDisplayNodeCAssertInfOrPositiveReal permit CGFLOAT_MAX. 2015-06-25 11:34:37 +07:00
Huy Nguyen 810bc3ab84 Rename ASLayoutNode's -computeLayoutThatFits to -calculateLayoutThatFits. 2015-06-25 11:34:37 +07:00
Huy Nguyen 4ad64b2841 Update tests. 2015-06-25 11:34:37 +07:00
Huy Nguyen 64e2323a4e Remove ASLayoutNodeSize:
- ASLayoutNode no longer has 'size' constraint during its initialization..
- ASLayoutNode no longer needs parentSize to calculate its layout.
2015-06-25 11:34:36 +07:00
Huy Nguyen 90a78684c9 Revert to using ASDisplayNodeSubclassOverridesSelector, to minimize changes and provide a bit of convenience within ASDisplayNode. 2015-06-25 11:34:36 +07:00
Huy Nguyen aea91fff86 Fix typo in ASDisplayNode. 2015-06-25 11:34:36 +07:00
Huy Nguyen 323136298c Update visibility of layout header files. Travis should be happy now. 2015-06-25 11:34:36 +07:00
Huy Nguyen 375f99eb66 Update Kittens sample to use new layout system. 2015-06-25 11:34:36 +07:00
Huy Nguyen e23a3fe4c2 Add layout tests. 2015-06-25 11:34:36 +07:00
Huy Nguyen abe98d5b09 Integrate new layout nodes to the framework.
- Introduce ASLayoutNode and its subclasses.
- ASDisplayNode measures its ASLayoutNode and cache the result (ASLayout). Calculated size and position of each subnode can be retrieved from the calculated layout.
- Custom nodes need to override -layoutNodeThatFits:(CGSize) instead of -calculateSizeThatFits:(CGSize).
- Custom nodes do not need to layout its subnodes (in -layout:) anymore. ASDisplayNode can handle the job most of the time, by walking through its layout tree.
- ASCompositeNode is used to embed (display) subnodes to a node's layout. That way, each subnode will also be measured while the parent node is measuring. And the parent node knows where its subnodes are within its layout.
2015-06-25 11:34:35 +07:00
Huy Nguyen f8531f467d Add Layout nodes.
- The code is forked from LayoutComponents in ComponentKit.
- Public interfaces are modified to be strictly Objective-C. As a result, users are not forced to switch to Objective-C++, the linker can happily compile and Swift fans can continue using the mighty ASDK.
2015-06-25 11:32:30 +07:00
appleguy 71d9f210f1 Merge pull request #507 from sebreh/master
Include missing files in iOS Framework target
2015-06-24 15:45:35 -07:00
appleguy 3560ff98e7 Merge pull request #508 from victormayorov/master
Implemented UIAccessibilityIdentification for ASDisplayNode
2015-06-24 15:45:09 -07:00
Ethan Nagel baf91b4a45 validate that _pendingVisibleIndexPath is contiguous with visibleIndexPaths before appending it. Also, always return a sorted array of NSIndexPaths 2015-06-24 13:18:12 -07:00
Ethan Nagel 0e37bff7c1 Revert to using a single NSIndexPath for the pending visible item 2015-06-24 13:13:43 -07:00
Victor Mayorov a299a5b550 Implemented UIAccessibilityIdentification for ASDisplayNode 2015-06-24 11:03:51 -07:00
Victor Mayorov 1a7723d0c6 Merge remote-tracking branch 'AsyncDisplayKit/master'
Conflicts:
	AsyncDisplayKit/Details/ASRangeController.mm
	AsyncDisplayKitTests/ASTableViewTests.m
2015-06-24 10:19:41 -07:00
Sebastian Rehnby c215356eb3 Include missing files in iOS Framework target 2015-06-24 15:55:50 +02:00
Paul Young 8fa6667d93 Remove old and add new framework target. 2015-06-23 23:24:55 -07:00
appleguy 8bdcbe1be0 Merge pull request #504 from RCacheaux/CollectionViewLayoutSupport
Custom layouts now allowed for ASCollectionView. Removes FlowLayout requirement.
2015-06-23 13:22:26 -07:00
Rene Cacheaux 0b8f10e488 Removes UICollectionViewFlowLayout requirement. This allows custom collection view layouts. 2015-06-23 13:39:12 -05:00
appleguy e5f2f820c4 Merge pull request #449 from nrcmedia/master
Added iOS framework target for Carthage support
2015-06-23 10:51:23 -07:00
appleguy 247f960c44 Merge pull request #503 from RCacheaux/CollectionViewLayoutSupport
Create ASCollectionViewLayoutController capable of handling any type of UICollectionViewLayout.
2015-06-23 10:30:19 -07:00
Rene Cacheaux 60e676a38a Adds ASCollectionViewLayoutController and convenience CGRect/ASScrollDirection functions. Fixes default collection view range tuning parameters for Preload and Render ranges; values were flipped. 2015-06-23 07:30:13 -05:00
appleguy 179d8601e0 Merge pull request #497 from RCacheaux/CollectionViewLayoutSupport
Adds abstract ASLayoutController, consolidating shared behaviors
2015-06-22 21:50:52 -07:00
Rene Cacheaux 4aa796d894 Merge branch 'master' into CollectionViewLayoutSupport 2015-06-21 23:17:41 -05:00
appleguy 607367aacf Merge pull request #496 from facebook/DataControllerCrash
Improvements to thread safety during closely spaced edit events.
2015-06-21 21:16:05 -07:00
appleguy edb6090ab0 Merge pull request #494 from RCacheaux/CollectionViewLayoutSupport
ASCollectionView scrollDirection and scrollableDirections
2015-06-21 21:10:14 -07:00
Scott Goodson c700618862 Improvements to thread safety during closely spaced edit events.
This applies primarily when beginUpdates / endUpdates is not used.
Due to user interaction-driven edits, like reloads or adding content
at the bottom, sometimes this is unavoidable in app design and thus
critical.

I have a diff in flight to make ASDataController / ASRangeController
robust against very aggressive thrash testing, which will be added
both to the unit test suite and this new example project.
2015-06-21 21:04:09 -07:00
appleguy 84c81c289e Merge pull request #495 from hannahmbanana/KittenComments
Cleaned up Kittens sample app and added comments for clarity.
2015-06-21 17:32:31 -07:00
Rene Cacheaux 777b48cc33 Adds layout controller for collection views. This new layout controller leverages UICollectionViewLayout's layoutAttributesForElementsInRect in order to calculate index paths for items in AsyncDisplayKit ranges. Flow layout is still a requirement in order to test the waters. 2015-06-21 18:37:00 -05:00
Hannah Troisi 710c51593e Cleaned up Kittens sample app and added comments for clarity.
In particular, the NSValue-boxed CGSize array used as a data model for the kittens
is generated with random sizes, for unclear reasons.  It turns out this is a workaround
to convince PlaceKitten to send us unique images.
2015-06-21 11:36:19 -07:00
Rene Cacheaux 0adac6851a Adds abstract ASLayoutController implementation in preparation for custom layout ASLayoutController implementation. 2015-06-21 13:24:24 -05:00
Rene Cacheaux 33118df73b Merge branch 'master' into CollectionViewLayoutSupport 2015-06-21 11:45:56 -05:00