Commit Graph
4676 Commits
Author SHA1 Message Date
Scott Goodson 8fc79b1d4c Update the identifier that AsyncDisplayKit uses to label its internal queues. 2015-06-27 12:07:40 -07:00
appleguy 1563c5e577 Merge pull request #523 from facebook/DataControllerSerialization
Clean up organization and naming of methods internal to ASDataController.
2015-06-27 11:50:43 -07:00
Scott Goodson dc19970fe8 Clean up organization and naming of methods internal to ASDataController. 2015-06-27 11:48:55 -07:00
appleguy a1e14e71ed Merge pull request #522 from facebook/DataControllerAwesome
Clean up ASDataController for readability & API naming consistency.
2015-06-27 11:08:18 -07:00
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