appleguy
2ad9d83520
Merge pull request #1353 from ejensen/spelling
...
[Documentation] Correct spelling errors
2016-03-16 22:53:15 -07:00
Michael Schneider
e82118e72f
Add assertion for ASDisplayNode is layer backed if using ASInterfaceStateForDisplayNode
2016-03-16 16:27:08 -07:00
Michael Schneider
8d771f930a
Refactor calculation of interface state based on ASDisplayNode and window
2016-03-16 13:26:17 -07:00
Michael Schneider
3b4e8d732c
Improve way to detect interface state of ASCollectionView and ASTableView
2016-03-16 11:45:22 -07:00
Michael Schneider
19232ac493
Address pull request comments
2016-03-16 11:44:56 -07:00
Michael Schneider
d3ba80ccfd
Improvements for automatic range mode
...
- Only update range mode if visibility changes if the node is not range controlled
- Only change explicitly set range mode if ASRangeController becomes visible
- Return interface state for range controller in ASCollectionView and ASTableView based on if the containing node is range managed
2016-03-16 11:44:56 -07:00
Eric Jensen
33fda7ab49
- Use modern Objective-C syntax.
...
- Simplify comparisons.
- Remove dead stores.
2016-03-15 22:34:29 -07:00
Eric Jensen
ddd5ff1f75
Correct spelling errors
2016-03-15 21:56:51 -07:00
Michael Schneider
13aa891ecf
Improve way to go into full mode on scroll
2016-03-12 17:45:09 -08:00
Michael Schneider
e4ddb7e270
Go into full range mode if a scroll happens
2016-03-12 15:44:27 -08:00
Scott Goodson
ff8ffffb7b
[ASCellNode] Upgrades to ASCellNodeVisibilityEvent to ensure it is always synchronized with visibilityDidChange:
2016-03-10 20:21:00 -08:00
Scott Goodson
0e460ca00a
[ASRangeController] Don't bother asking UIKit for the visible index paths if view is zero-sized, as it triggers a reloadData.
2016-03-10 19:10:25 -08:00
Scott Goodson
21bebb9d29
[ASRangeController] Improvements to application state change and memory warning handling.
...
Introduces ASLayoutRangeModeVisibleOnly, allowing the preservation of decoded backing stores without any extra padding to
strictly minimize memory usage while supporting immediate re-display of content. Set visible range controllers to this mode
upon app suspend / memory warning, while more aggressively clearing others to the ASLayoutRangeModeLowMemory mode.
By default, when the app is running and recieves a memory warning, we set the range mode for non-visible controllers to
ASLayoutRangeModeVisibleOnly. This is because, unlike in the app suspend case where on app resume we can restore controllers
from LowMemory to VisibleOnly, the memory warning doesn't provide a good opportunity to do this.
A new +Beta API to control this behavior is called +setRangeModeForMemoryWarnings:, as some apps may prefer to use LowMemory
in the memory warning scenario. For these apps, optimal user experience will require manually setting the range mode back
to some larger value as the user navigates the app, or they will encounter controllers that are temporarily blank and need
a moment to re-display their contents as they start to become visible.
2016-03-09 21:22:45 -08:00
Scott Goodson
9c0d0542dd
[ASScrollDirection] Fix scroll direction interpretation after recent changes to this logic.
2016-03-07 22:50:48 -08:00
Michael Schneider
aa2ae87c81
Add -waitUntilAllUpdatesAreCommitted to ASTableView and ASCollectionView
...
The API allows consumer of ASTableView or ASCollectionCiew to block execution of the main thread until all section and row updates are committed.
2016-03-02 19:38:14 -08:00
appleguy
e82d1408d2
Merge pull request #1292 from nguyenhuy/visibility_improvements
...
[ASCellNode] Update visibility API to support new event types for initial visibility & invisibility (caused by VC transitions, etc)
2016-03-02 19:30:31 -08:00
Huy Nguyen
c64f23725f
Update ASCellNode visibility API
2016-02-29 20:26:16 -08:00
Michael Schneider
084e6f82c1
Trigger updating interfaceState for cells in case ASTableView or ASCollectionView becomes visible or invisible
2016-02-29 17:04:25 -08:00
Ethan Nagel
fa4e20e874
Initialize _asyncDelegateImplementsScrollviewDidScroll so we forward scollViewDidScroll: calls
2016-02-24 11:03:06 -08:00
Scott Goodson
d899f12f70
[ASCellNode] Layout delegate should not be public as it must not be reset externally.
...
Do not call layout delegate method before the cell node is loaded. This can happen if
application code calls -setNeedsLayout on the cell manually, and can confuse UIKit state
because we submit an empty batch update call on the next runloop.
2016-02-20 15:24:44 -08:00
appleguy
b75d6627bb
Revert "Revert "Revert "[ASCollectionView / ASTableView] Optimize reloadData and reloadSection: methods."""
2016-02-19 23:26:29 -08:00
appleguy
2b10d84a2b
Revert "fix scheduling issue that causes collectionView to not animate"
2016-02-19 23:26:12 -08:00
appleguy
f3300ded68
Merge pull request #1246 from Xinchi/master
...
[ASCellNode] Support monitoring scrollViewDidScroll events / visible amount of self
2016-02-19 22:25:10 -08:00
Max Gu
548b600504
Removing 2 unnecessary checks
2016-02-19 22:18:08 -08:00
Max Gu
115fc2b3da
Adding visibility monitoring for ASTableVieww
2016-02-19 22:15:44 -08:00
Scott Goodson
a1061301e0
[ASDataController] Revert the reloadData optimizations again - need to fix apps relying on prior behavior.
...
The optimization seems correct now, but apps like Pinterest have some core code relying on edit operation
order that is actually not permitted by UIKit (and this diff) but were tolerated previously. We will
re-land this once we have time to adapt the code.
2016-02-19 21:31:39 -08:00
appleguy
58a3ba5e8f
Revert "Revert "[ASCollectionView / ASTableView] Optimize reloadData and reloadSection: methods.""
2016-02-18 23:06:14 -08:00
appleguy
32aa333c21
Revert "[ASCollectionView / ASTableView] Optimize reloadData and reloadSection: methods."
2016-02-18 19:50:06 -08:00
appleguy
33d4c8693d
Merge pull request #1171 from lkzhao/ASDataController-reload
...
[ASCollectionView / ASTableView] Optimize reloadData and reloadSection: methods.
2016-02-18 17:36:14 -08:00
Luke Zhao
40791dd859
optimize reload data, reload sections, & move nodes performance & logic
2016-02-18 14:44:16 -08:00
Rahul Malik
19cc368d15
In addition to allocating nodes in the background, perform that operation concurrently in ASDataController
2016-02-17 22:30:58 -08:00
Scott Goodson
e1597f902a
Increase default value for leadingScreensForBatching to 2.0, as 1.0 is not enough
...
for most network conditions / backend performance.
2016-02-16 22:19:27 -08:00
Rahul Malik
3e5daf4ccd
Update data source protocols to make synchronous node creation api methods optional.
2016-02-09 22:47:43 -08:00
Michael Schneider
e49a5d992c
Remove unused ASCollectionViewLayoutController import
2016-02-07 15:27:15 -08:00
Michael Schneider
026761c610
Rename ASRangeControllerBeta to ASRangeController and use exclusively
2016-02-07 15:03:24 -08:00
Michael Schneider
5d474bcb1a
Remove ASDisplayNode -shouldUseNewRenderingRange method and ASRangeControllerStable class
2016-02-07 15:03:23 -08:00
Rahul Malik
c4f489b074
Address comments.
2016-02-04 16:56:29 -08:00
Rahul Malik
521c3fa1c1
Move ASCellNode allocation off the main thread by the addition of a node block
...
API in ASDataController. Move allocations and loaded node layouts to occur
during batch layout phase.
2016-02-04 10:38:59 -08:00
Huy Nguyen
19335d8c9e
Add rangeMode APIs
2016-02-02 11:58:18 -08:00
Huy Nguyen
0f3f6f0dff
Fix ASTableView to have None direction
2016-02-01 13:25:22 -08:00
Samuel Hsiung
39cd3afa0d
[AS(Table|Collection)View] make scrollDirection transform aware
2016-01-28 16:42:46 -08:00
Levi McCallum
0e0a0f3280
Add a safety check for targetContentOffset possibly being NULL
2016-01-28 15:54:38 -08:00
Levi McCallum
6eb0521fa3
Observe decelerating scroll velocity for accurate direction reporting
2016-01-27 23:20:21 -08:00
Huy Nguyen
56c6bd681b
Revert "Revert commit 83aaa46, thus bring 2e4d716 back"
...
This reverts commit 209425c22ce84ecbb7ab631753ec8fc34dd9cbb0.
2016-01-26 12:05:02 -08:00
Huy Nguyen
209425c22c
Revert commit 83aaa46, thus bring 2e4d716 back
2016-01-24 23:38:05 -08:00
Scott Goodson
83aaa4637e
Revert "ASDataController now handles reloadData more efficiently and notify its delegate once instead of a series of deletes and inserts"
...
This reverts commit 2e4d716e0b65465d9c65b5821668c38e5fa956c9.
Possible issue with this commit.
2016-01-22 20:33:33 -08:00
appleguy
999e93f0fa
Merge pull request #1088 from aaronschubert0/ASTableView-Layout-bug-fix
...
[ASTableView] Rename _ASTableViewCellDelegate method.
2016-01-22 17:26:18 -08:00
Huy Nguyen
2e4d716e0b
ASDataController now handles reloadData more efficiently and notify its delegate once instead of a series of deletes and inserts
2016-01-21 11:21:21 -08:00
Aaron Schubert
631d04a45b
[ASTableView] Rename _ASTableViewCellDelegate method.
2016-01-20 09:37:54 +00:00
appleguy
5be14e41fd
Merge pull request #1078 from aaronschubert0/ASTableView-Layout-bug-fix
...
[ASTableView] Ensure -[super layoutSubviews] is called before messaging delegate.
2016-01-19 19:21:19 -08:00