Scott Goodson
eac85b6c9a
[ASDisplayNode] Optimize -setNeedsDisplay, deep mutable array copies.
...
These optimizations are surprisingly impactful. -setNeedsDisplay being called
for every node triggered cancelAsyncDisplay, locking, and memory management overhead
that is completely avoidable because Core Animation triggers first display automatically.
The mutable array copy optimizations reduced this key cost by over 10x, from 52ms to 5ms
on an iPad Air 2 / A8X with a real-world test case.
2016-02-28 20:54:56 -08:00
Adlai Holler
324b633b0f
[ASPendingStateController] Don't hold lock while flushing
2016-02-26 23:14:58 -08:00
appleguy
fd3eca9091
Merge pull request #1281 from ejensen/VideoNodeAssetCast
...
[ASVideoNode] AVAsset type cast safety
2016-02-26 22:50:44 -08:00
Eric Jensen
cb1579e8af
Check the AVAsset's type before casting to an AVURLAsset
2016-02-26 11:00:27 -08:00
Michael Schneider
45c616d916
Improve ASTextCellNode customization
2016-02-26 06:31:09 -08:00
Aaron Schubert
88e4ec4130
[tvOS] Optimize shadow methods to use local variable.
2016-02-26 09:40:14 +00:00
Scott Goodson
89516129a4
[ASDisplayNode] Bridge should trigger display when opacity or bg color change.
2016-02-25 18:25:39 -08:00
appleguy
93575b20e9
Merge pull request #1277 from nguyenhuy/layout_transition_for_cell_node
...
[ASCellNode] Notify layout delegate during layout transition
2016-02-25 14:56:05 -08:00
appleguy
6f12444be0
Merge pull request #1265 from rcancro/scaleFactor
...
[ASTextNode] Stopped trying to cache the currentScaleFactor
2016-02-25 14:54:19 -08:00
appleguy
6e85ad8170
Merge pull request #1274 from Adlai-Holler/AHMapNodeVendAnnotations
...
[ASMapNode] Promote annotations to a Formal Property
2016-02-25 14:46:33 -08:00
Huy Nguyen
0fe774511c
ASCellNode notifies its layout delegate during layout transition
2016-02-25 12:19:14 -08:00
Huy Nguyen
640b6bdf4a
Fix mismatch between the signature of didCompleteLayoutTransition and its implementation
2016-02-25 10:58:36 -08:00
Adlai Holler
60f5ba2d17
Simplify ASMapNode.setAnnotations
2016-02-25 10:40:38 -08:00
Adlai Holler
2fbc7b0942
Make ASMapNode vend its annotations
2016-02-25 10:32:13 -08:00
Aaron Schubert
f9bf402047
[tvOS] Clean up and document parts of code.
2016-02-25 09:06:11 +00:00
Huy Nguyen
32a8f9c831
Assert comparison block in diffing algorithm
2016-02-24 20:42:18 -08:00
Huy Nguyen
bd1b195dbe
Fix diffing algorithm not using custom comparison block
2016-02-24 20:33:02 -08:00
Scott Goodson
792db0061b
[ASMapNode] Perform MKMapSnapshotter callback off the main thread to eliminate UIImage handling overhead.
2016-02-24 17:02:22 -08:00
appleguy
306aec9d5b
Merge pull request #1270 from Adlai-Holler/AHFixMapNodeUnhostingView
...
[ASMapNode] Remove Live Map in clearFetchedData, Not clearContents
2016-02-24 17:01:11 -08:00
Adlai Holler
de46701ff7
[ASMapNode] Remove live map on clearFetchedData, not clearContents
2016-02-24 15:20:02 -08:00
Garrett Moon
6a1298440d
Flex shrink should be set on title init, not image init
2016-02-24 15:10:18 -08:00
appleguy
439ca172d1
Merge pull request #1267 from eanagel/super-layout-required
...
[ASDisplayNode] Add NS_REQUIRES_SUPER for -layout.
2016-02-24 13:31:56 -08:00
Ethan Nagel
fa4e20e874
Initialize _asyncDelegateImplementsScrollviewDidScroll so we forward scollViewDidScroll: calls
2016-02-24 11:03:06 -08:00
Ethan Nagel
26dcad5218
Add a warning if [super layout] is not called (which causes big problems for ASLayout.)
2016-02-24 10:28:22 -08:00
rcancro
8dbc8b7df4
reordered conditionals, moved beta things to beta header file
2016-02-24 08:06:10 -08:00
Aaron Schubert
3d6f6766e9
[tvOS] Implement a default behaviour of ASImageNode, trying to match the behaviour of UIImageView. Still need to add shine.
2016-02-24 13:58:11 +00:00
rcancro
878fedd8f3
Stopped trying to cache the currentScaleFactor
...
Was running into issues where the scale factor would get cleared when setting a new atributedString on a textNode.
I was clearing out the currentScaleFactor when setting an attributedString into a textNode. It appears that `_calculateSize` isn't always called when setting a new string into a ASTextNode. It can be the case that only `drawInContext:bounds:` is called. With _currentScaleFactor cleared out the renderer that calls`drawInContext...` was being called with a scaleFactor of 0.
It could be the case that the fix could be to remove the clearing of `currentScaleFactor` from `setAttributedString`, but this seems like a safer fix to me. It does, however, require an extra run through the font adjuster when enabled.
2016-02-23 16:51:10 -08:00
Levi McCallum
c2d379f8f5
Add a bit of documentation to describe the problem this is solving
2016-02-23 13:02:37 -08:00
Levi McCallum
4640801939
Enable animated bounds changes in ASCollectionView
2016-02-23 09:36:11 -08:00
Aaron Schubert
d9cde1f08c
[tvOS] Added a default touch down animation for ASControlNode
2016-02-23 12:18:33 +00:00
Aaron Schubert
4ad6d91a10
Add default focus response to ASControlNode
2016-02-23 11:16:07 +00:00
Aaron Schubert
5d367328d9
Make ASControlNode the default focusable view. This is so that we can receive touch events that will manipulate the view.
2016-02-23 10:39:32 +00:00
Aaron Schubert
682903fba5
Make ASDisplayNode unable to be focused by default. ASControlNode will be the new default.
2016-02-23 10:36:53 +00:00
Aaron Schubert
106b5f5d4a
Update
2016-02-23 10:20:06 +00:00
Garrett Moon
359d19da29
ASNetworkImageNode should support a nil cache.
2016-02-22 21:58:45 -08:00
appleguy
3abde9348d
Merge pull request #1256 from Adlai-Holler/AHAffinityRevisions
...
[ASDisplayNode] Post-Review Refinements of Recent No-Affinity UIKit/CA Property Bridging
2016-02-22 20:41:59 -08:00
appleguy
3eb0d4e877
Merge pull request #1258 from rcancro/textKitBlocks
...
[ASTextNode] Add block to customize NSLayoutManager and NSTextStorage (subclass, initialization)
2016-02-22 19:44:34 -08:00
appleguy
75f620aa91
Merge pull request #1257 from Adlai-Holler/FixImageNodeLockingIssue
...
[ASImageNode:displayDidFinish] Unlock _imageLock Correctly
2016-02-22 19:40:13 -08:00
Adlai Holler
fd5723379f
[ASImageNode] Lock & unlock directly instead of using stack objects.
2016-02-22 18:48:31 -08:00
appleguy
79389ba66e
Merge pull request #1251 from ekurutepe/fix-umbrella-header
...
[AsyncDisplayKit] Adjust Umbrella header to ensure Carthage build succeeds.
2016-02-22 18:32:34 -08:00
Adlai Holler
767bff2e1a
[ASInternalHelpers] Use ASDisplayNodeThreadIsMain, reduce block allocations
2016-02-22 15:12:13 -08:00
Adlai Holler
977a509bd4
[ASCellNode] If viewControllerBlock returns an ASViewController, use its node directly instead of wrapping
2016-02-22 15:11:27 -08:00
Adlai Holler
afc70b90ab
[ASCellNode] Improve documentation, remove unused ivar
2016-02-22 15:10:02 -08:00
rcancro
00b0968bf7
Add ability to customize NSLayoutManager and NSTextStorage when created in the ASTextKitContext
2016-02-22 13:00:02 -08:00
Adlai Holler
57ca0c73bf
[ASImageNode] Correctly unlock _imageLock
2016-02-22 09:12:58 -08:00
Adlai Holler
f4e4c501f1
[ASDisplayNode] Remove misplaced comment that has been replaced
2016-02-22 09:06:36 -08:00
Adlai Holler
03d2b57991
[ASImageNode] Unlock immediately after updating _image
2016-02-22 09:04:23 -08:00
Adlai Holler
deccef1d94
[ASDisplayNode] Lock during constrainedSizeForCalculatedLayout
2016-02-22 09:04:01 -08:00
Adlai Holler
015c024b7a
[ASPendingState] Give local variables default values
2016-02-22 08:54:58 -08:00
Adlai Holler
100d0a1302
[_ASPendingState] Deduplicate logic for applying setNeedsDisplay and applying frame/bounds/position
2016-02-22 08:52:26 -08:00