275 Commits

Author SHA1 Message Date
Scott Goodson
051f1f6cdd Use _ASDisplayLayer for both ASTableView and ASCollectionView. zeroContentInsets to fix UIKit. 2015-12-29 22:24:44 -08:00
Scott Goodson
44feece701 Implement node-backing for ASTableView and ASCollectionView, with a strong back-pointer in these cases. 2015-12-26 23:05:34 -08:00
Scott Goodson
4b560a703a PR #1000 on GitHub! Provide a Beta API to enable the new, high efficiency render-ahead mechanism. 2015-12-26 16:34:44 -08:00
Scott Goodson
a2cf2a88e6 Overhaul header files / includes to eliminate circular references that Xcode 7 is angry about. 2015-12-25 19:22:00 -08:00
Scott Goodson
15826b58e4 Remove extra logging for build server debugging. 2015-12-23 22:24:17 -08:00
Scott Goodson
8b3f3351ab Logging for test failures that are only occurring on build server with iOS 8.1 simulator... 2015-12-23 21:53:42 -08:00
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
9944305cfd Fix tests to avoid newly deprecated ASCollectionView init variant with asyncDataFetching argument. 2015-12-22 23:36:29 -08:00
Scott Goodson
065625f246 Make ASCollectionView always create an ASCollectionNode. Add visibilityDidChange:, interfaceStateDidChange:fromState: 2015-12-22 21:46:46 -08:00
Scott Goodson
88b36f58e7 Ensure an empty array is returned if visibleNodes is called before any nodes are complete. 2015-12-06 21:45:46 -08:00
Scott Goodson
840884272d Introduced ASHierarchyState. Created ASDisplayNode+FrameworkPrivate.h. Fixed deadlock. 2015-12-05 22:20:16 -08:00
appleguy
3a04cb7cc8 Merge pull request #898 from Adlai-Holler/OptimizeNodeDidRelayout
Reduce Frequency of beginUpdates/endUpdates Due to Node Relayout
2015-12-03 21:02:22 -08:00
Adlai Holler
e1d06e70ff Fix constant naming 2015-12-01 12:00:38 -08:00
Adlai Holler
1f8df4ffec Use shiny new dequeueReusableCellWithIdentifier:forIndexPath: method in ASTableView 2015-11-30 23:22:53 -08:00
Adlai Holler
0ee1fd82dc Refactor nodeDidRelayoutWithSizeChange: -> nodeDidRelayout:sizeChanged: 2015-11-30 19:29:27 -08:00
Adlai Holler
04d93532bc Only require node sizes once per run loop, and only if a node's size has changed 2015-11-30 17:20:32 -08:00
appleguy
937b72b64a Merge pull request #879 from levi/levi/custom-layout-example
Add custom collection view layout example project
2015-11-29 22:14:31 -08:00
Levi McCallum
24cb1d5cb0 Fix broken build 2015-11-29 21:49:34 -08:00
Levi McCallum
c801965f94 Zero out constrained size value by default 2015-11-29 21:28:59 -08:00
Levi McCallum
59ff876b67 Ensure that nil message doesn't cause invalid scalar value 2015-11-29 13:51:15 -08:00
appleguy
bd4b8601ba Merge pull request #837 from levi/levi/cell-selection
Fix selection inconsistency in ASTableView/ASCollectionView cell implementation
2015-11-28 16:56:25 -08:00
Levi McCallum
36d24950e0 Add custom collection view layout example project 2015-11-27 18:58:44 -08:00
appleguy
15f718ddc9 Merge pull request #868 from levi/levi/remove-deprecated
Clean up syntax and organization of ASRangeController
2015-11-23 21:24:58 -08:00
Levi McCallum
e05c4b7419 Separate range controller delegate methods into separate data source 2015-11-19 16:01:38 -08:00
Scott Goodson
2a0b9c8e14 Substantially improve behavior of nested Table & Collection Nodes
This ensures memory cleanup happens correctly and introduces a new test project
to support developing new features while stressing tough use cases for correctness.
2015-11-14 15:25:35 -08:00
Levi McCallum
e6b33dd062 Fix cell selection and highlighting in ASCollectionView 2015-11-11 01:05:51 -08:00
Huy Nguyen
12dbfd1992 Only set a default layout delegate to ASCellNode if it is not provided by the async data source 2015-11-04 16:53:36 +02:00
Huy Nguyen
5701cbba40 After relayout of a cell node, table and collection views trigger an empty update transaction, instead of a reload 2015-11-04 16:53:33 +02:00
Scott Goodson
e517f88e65 Rename ASCellNode delegate to layoutDelegate to avoid common naming overlap 2015-11-01 12:51:46 -08:00
appleguy
0598935957 Merge pull request #793 from nguyenhuy/ImproveCellNodeRelayout
ASCellNode delegate to automatically resize in table & collection when -setNeedsLayout called.
2015-11-01 11:11:32 -08:00
Huy Nguyen
fb18e7635b Notify ASCellNodeDelegate even if a relayout doesn't result in a resize
If the delegate is an ASTableView, relayoutAnimation will still be considered for animation.
2015-10-29 21:27:29 +02:00
Adlai Holler
cf8946cf97 Use fast enumeration when performing collection view update blocks 2015-10-29 10:30:12 -07:00
Huy Nguyen
00400e166f Introduce ASCellNodeDelegate
- Cell node automatically notifies the delegate after a relayout (via -setNeedsLayout) that results in a new size. Confirming to ASCellNodeDelegate; ASTableView and ASCollectionView reload the calling cell upon notifications. These views automatically set themselves as delegate of every node.
- The result is that ASCellNode subclasses don't need to manually notify the containing view. Thus, `-relayoutItemAtIndexPath` and `-relayoutRowAtIndexPath` are removed.
- Kittens example is updated to reflect the change.
2015-10-29 16:59:46 +02:00
Huy Nguyen
cd31f884dd Move ASDisplayNodePerformBlockOnMainThread to ASInternalHelpers 2015-10-29 16:09:36 +02:00
Adlai Holler
50485663b9 Never use setAnimationsEnabled: so we don't risk corrupting enabledness 2015-10-28 16:09:56 -07:00
appleguy
7e616756a7 Merge pull request #722 from nguyenhuy/RelayoutCellAPI
Add relayout item/row APIs to ASTableView and ASCollectionView
2015-10-25 21:28:20 -07:00
appleguy
8dddcaa74b Merge pull request #766 from levi/levi/synchronous-reloaddata
Add synchronous reloadData methods to ASTableView and ASCollectionView
2015-10-25 21:05:52 -07:00
Levi McCallum
e0dfe8f0c4 Fix method naming 2015-10-23 06:10:06 -07:00
Levi McCallum
722b90f1cf Implement basic immediate reloadData method on table and collection view 2015-10-22 21:28:44 -07:00
Levi McCallum
c33d6efa8a WIP synchronous reload data on collection view 2015-10-22 21:28:30 -07:00
Levi McCallum
e9708633bc Remove stubbed collection view layout setter behavior 2015-10-21 23:17:38 -07:00
Levi McCallum
e8ce7fcbb2 Clean up caching of collection view delegate selectors on the inspector 2015-10-21 23:17:38 -07:00
Levi McCallum
084d60883b Add assertion to flow layout inspector down casting 2015-10-21 23:17:38 -07:00
Levi McCallum
db0a0326d7 Rename layoutDelegate to layoutInspector in ASCollectionView 2015-10-21 23:17:38 -07:00
Levi McCallum
8f289d9977 Back internal kind collection with a set 2015-10-21 23:17:37 -07:00
Levi McCallum
12194199cd Clean up layout delegate protocol API 2015-10-15 11:40:53 -07:00
Levi McCallum
772e9b95a4 Document layout delegate on ASCollectionView 2015-10-15 11:40:53 -07:00
Levi McCallum
0446902c17 Remove supplementary view assertion 2015-10-15 11:40:53 -07:00
Levi McCallum
e2bbde2a4e Clean up usage of internal flow layout inspector 2015-10-15 11:40:53 -07:00
Levi McCallum
ee0cc2001a Add support for loaded node layout for supplementary views 2015-10-15 11:40:52 -07:00