Commit Graph

3364 Commits

Author SHA1 Message Date
appleguy
4aed9180d6 Merge pull request #554 from nguyenhuy/553_appledoc
Fix some appledoc warnings
2015-07-10 17:51:14 -07:00
Huy Nguyen
bbadc9a1e9 Update nodes in Kittens example to use new signature of layoutSpecThatFits:.. 2015-07-10 19:46:32 +07:00
Huy Nguyen
e1fd58268c Clean up #468:
- -layoutSpecThatFits: must return an ASLayoutSpec.
- Move ASDisplayNode's -measureWithSizeRange: redeclaration to ASDisplayNode.h.
- Rename ASStackLayoutChild.h to ASStackLayoutDefines.h.
- Rename ASStaticLayoutSpecDimension.h to ASRelativeSize.h.
- Don't import ASLayout.h in other headers to prevent circular inclusions.
- Explain use cases of ASLayout's initializers.
- Clean up ASInternalHelpers.h.
2015-07-10 19:41:17 +07:00
Huy Nguyen
cfac6c992a [appledoc] Fix appledoc warnings. (#553) 2015-07-10 19:02:04 +07:00
Roy Marmelstein
95016021b4 Access to underlying UITextView for more configuration options. 2015-07-09 16:09:20 +02:00
Dasmer Singh
31eef22111 Merge remote-tracking branch 'upstream/master' 2015-07-08 23:03:29 -04:00
appleguy
6703c95aeb Merge pull request #543 from victormayorov/master
Implemented test for crash in ASCollectionView on reloadData
2015-07-08 12:46:49 -07:00
appleguy
4272164db3 Merge pull request #545 from ryanfitz/display-node-memory-leak-fix
fixed retain cycle between display node and its stored layout
2015-07-08 12:42:59 -07:00
Ryan Fitzgerald
83ac5ad823 changing layoutableObject to be a weak reference to avoid retain cycle between ASDisplayNode and its Layout 2015-07-08 09:58:31 -04:00
Victor Mayorov
01771f7860 Implemented test for crash in ASCollectionView on reloadData 2015-07-07 23:14:54 -07:00
appleguy
b859fdf4eb Merge pull request #542 from grigaci/fixDuplicateSymbols
Issue #541 Fix duplicate symbols on ASIndexPath with extern header and implementation file.
2015-07-07 10:15:38 -07:00
Bogdan Iusco
a0fcecc469 Fix duplicate symbols on ASIndexPath 2015-07-07 18:23:04 +03:00
appleguy
37b31a2917 Merge pull request #468 from nguyenhuy/layout_node
AsyncDisplayKit 2.0 Beta: Complete Flexbox layout system, with elimination of code duplication between sizing and layout for manual implementations!  Check out ASLayoutSpec, ASLayout, and methods like -layoutSpecThatFits:.
2015-07-06 22:57:13 -07:00
Huy Nguyen
9678adaa93 Merge branch 'master' into layout_node 2015-07-06 22:21:32 +07:00
Huy Nguyen
51f1ed819f - ASDisplayNode now caches calculated layout requested by layout specs.
- constrainedSizeForCalculatedLayout is of type ASSizeRange.
- calculatedLayout is better explained.
- Since ASLayout is cached and reused, its position property is mutable.
2015-07-06 22:08:01 +07:00
Huy Nguyen
772ed0b019 Fix import in ASCellNode. 2015-07-06 09:15:13 +07:00
appleguy
84b503c7ae Merge pull request #538 from facebook/PodspecUpdate122
Update podspec to 1.2.2
2015-07-05 13:20:15 -07:00
Scott Goodson
3afcf33206 Update podspec to 1.2.2 2015-07-05 13:19:24 -07:00
Huy Nguyen
daf3daeb51 Preserve the manual layout code in Kittens example. 2015-07-05 14:36:39 +07:00
Huy Nguyen
33a3412acf Horizontally center the text in Kittens' BlurbNode. 2015-07-05 13:54:47 +07:00
appleguy
3f574a3306 Merge pull request #521 from jflinter/jack-uiresponder-additions
Add UIResponder methods to ASDisplayNode
2015-07-04 22:36:09 -07:00
appleguy
58a55f035d Merge pull request #529 from facebook/DataControllerQueues
Overhaul ASDataController and extensively test ASTableView.
2015-07-04 21:06:34 -07:00
Scott Goodson
6220d65747 Property declaration tweak for odd Travis build failure (only on the Tests build). 2015-07-04 20:54:04 -07:00
Scott Goodson
8fa092fb77 Complete overhaul of ASFlowLayoutController.
Introduced ASIndexPath for efficient handling of index paths in C++ vectors,
while maintaining the readability of ".section" and ".row" instead of
".first" and ".second" inside of complicated business logic.

Confirmed that the working range calls are firing appropriately during
ASTableViewStressTest, including the deallocation of the rich text placeholders
provided by ASTextNode.
2015-07-04 20:22:04 -07:00
appleguy
51297088ce Merge pull request #535 from eanagel/cell-clipsToBounds
Propagate ASCellNode's clipsToBounds value to the __ASTableViewCell
2015-07-01 20:11:38 -07:00
Huy Nguyen
af64f33ed7 Minor changes: remove unncessary imports and add a new line ad the end of ASInternalHelpers.h 2015-07-01 18:36:36 +07:00
Huy Nguyen
2a3753516a Fix naming convention: Rename ASLayout's "children" to "sublayouts". 2015-07-01 18:13:54 +07:00
Huy Nguyen
2149d44990 Fix naming convetion:
- "Layout node" is changed to "layout spec".
- Update tests.
- Update Kittens sample.
2015-07-01 18:13:44 +07:00
Huy Nguyen
eb5670032d ASDisplayNode flattens the ASLayout calculated from its layout spec and stores the result. This reduces memory footprint and gives -layout a performance gain. 2015-06-30 20:18:11 +07:00
Huy Nguyen
4799a9d206 Remove ASLayoutChild. ASLayout now has a position property defaults to (NAN, NAN). 2015-06-30 19:42:38 +07:00
Ethan Nagel
4963a88717 Propagate ASCellNode's clipsToBounds value to the __ASTableViewCell. This helps work around a bug we are seeing in some rare cases (selected background view overlaps other cells if size of ASCellNode has changed.) 2015-06-29 21:22:55 -07:00
Scott Goodson
57465c7fd3 Overhaul ASDataController and extensively test ASTableView.
This diff resolves all known consistency issues with ASTableView and ASCollectionView.
It includes significantly more aggressive thrash-testing in ASTableViewStressTest,
which now passes on a variety of device and simulator configurations.  It also updates
the unit tests run on every commit to ensure any regression is caught quickly.

A few of the salient changes in this diff:
- ASTableView now uses Rene's ASCollectionViewLayoutController, and actually uses a
UICollectionViewFlowLayout without any UICollectionView.  This resolves an issue where
ASFlowLayoutController was generating slightly out-of-bounds indicies when programmatically
scrolling past the end of the table content.  Because the custom implementation is likely
faster, I will revisit this later with profiling and possibly returning to the custom impl.
- There is now a second copy of the _nodes array maintained by ASDataController.  It shares
the same node instances, but this does add some overhead to manipulating the arrays. I've
filed a task to follow up with optimization, as there are several great opportunities to
make it faster.  However, I don't believe the overhead is a significant issue, and it does
guarantee correctness in even the toughest app usage scenarios.
- ASDataController no longer supports calling its delegate /before/ edit operations.  No
other class was relying on this behavior, and it would be unusual for an app developer to
use ASDataController directly.  However, it is possible that someone with a custom view
that integrates with ASDataController and ASRangeController could be affected by this.
- Further cleanup of organization, naming, additional comments, reduced code length
wherever possible.  Overall, significantly more accessible to a new reader.
2015-06-28 18:03:45 -07:00
Huy Nguyen
e74823bbee Merge branch 'master' into layout_node 2015-06-28 23:47:09 +07:00
Huy Nguyen
dd29a890df Still support -calculateLayoutThatFits: (and manual layout), for backward compatibility. 2015-06-28 20:31:32 +07:00
appleguy
8beae28b25 Merge pull request #506 from paulyoung/framework-target
Remove old and add new framework target.
2015-06-27 21:58:09 -07:00
appleguy
a654d880c3 Merge pull request #525 from facebook/Domain2
Update the identifier that AsyncDisplayKit uses to label its internal queues (2/2).
2015-06-27 12:11:35 -07:00
Scott Goodson
feba7f8ed1 Update the identifier that AsyncDisplayKit uses to label its internal queues (2/2). 2015-06-27 12:10:58 -07:00
appleguy
447159f08a Merge pull request #524 from facebook/ASDK_Identifier_Domain
Update the identifier that AsyncDisplayKit uses to label its internal queues.
2015-06-27 12:08:28 -07:00
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