appleguy
b9597ff96b
Merge pull request #461 from facebook/memoryMethods
...
Updating API names for network range and memory culling before ASDK 1.2 tag.
2015-05-21 22:44:44 -10:00
Scott Goodson
e3f0e66cb3
Updating API names for network range and memory culling before ASDK 1.2 tag.
2015-05-21 22:43:38 -10:00
appleguy
5d0a2849de
Merge pull request #407 from ianolito/fix-placeholder-api
...
Fix handling of pending nodes and placeholder layer
2015-05-21 21:43:07 -10:00
appleguy
8043e36bf6
Merge pull request #430 from eanagel/astableview-programmatic-scrolling-fix-v2
...
Bug Fix - ASTableView sometimes fails to render cell contents when scrolling programmatically.
2015-05-21 12:54:19 -10:00
appleguy
7e50f05dfd
Merge pull request #445 from levi/master
...
Prevent UITableView insertion/deletion animations by default
2015-05-21 12:49:48 -10:00
Levi McCallum
c8ea73b1fe
Communicate conditionals clearly and document methods
2015-05-18 20:03:14 -07:00
appleguy
38ecededaa
Merge pull request #453 from facebook/outlineBorderWidth
...
Set line width on path instead of context.
2015-05-17 17:03:41 -10:00
Scott Goodson
c4cd38bb6e
Set line width on path instead of context.
...
I’m not confident why the original implementation doesn’t work, but
this version is stylistically cleaner regardless. Resolves task #450 .
2015-05-17 17:01:59 -10:00
appleguy
bf84d52bec
Merge pull request #443 from eanagel/astableview-in-xib
...
Allow ASTableView to be loaded in a xib/storyboard
2015-05-16 23:00:50 -10:00
appleguy
079da308ef
Merge pull request #437 from eanagel/ASDataController-release-nodes
...
ASDataController dealloc, ensure cell nodes are not in a superview
2015-05-16 22:49:55 -10:00
appleguy
33c5a72002
Merge pull request #432 from tonklon/master
...
ASTextNode expose exclusion paths
2015-05-16 22:19:47 -10:00
appleguy
d3e4db2c5c
Merge pull request #444 from levi/patch-1
...
Fix typo in ASTableView
2015-05-13 22:55:24 -10:00
Ethan Nagel
d9acd7bb84
More fixes to catch/handle the delegate getting into an invalid state. These changes will allow setting tableView.asyncDataSource/delegate = nil. (Previously this would have no effect in dealloc thanks to ARC magic). Also added some defensive code to help identify the problem earlier.
2015-05-13 11:00:37 -07:00
Ethan Nagel
58402b6af0
change the order we tear things down in setAsyncDelegate/DataSource to avoid a random crash in UIScrollViewAccessibility.
2015-05-12 12:11:05 -07:00
Levi McCallum
1530ef2841
Prevent UITableView insertion/deletion animations by default
...
Fixes #292
2015-05-07 21:53:38 -07:00
Levi McCallum
4619457a1e
Fix typo in ASTableView
2015-05-07 14:51:03 -07:00
Ethan Nagel
a38cf3ef37
Merge branch 'master' into astableview-in-xib
2015-05-05 09:31:31 -07:00
Ethan Nagel
c81f5d08fc
refactor ASTAbleView initialization code so it also gets initialized when starting from initWithCoder:
2015-05-04 08:51:25 -07:00
Ethan Nagel
38f08c9bd8
support layers as well as views when doing ASDisplayCell cleanup (in case we add support for layer-backed ASDisplayCells in the future.)
2015-05-03 21:45:33 -07:00
appleguy
f248dbddd1
Merge pull request #405 from eanagel/reloadData-completion
...
Add (optional) completion handler for ASTableView and AsCollectionView reloadData
2015-05-03 19:25:06 -07:00
rlasante
04ec602500
Don’t retain an action’s target in ASControlNode
...
- addTarget:action:forControlEvents: should not retain the target. If it does
then there is a very high likelihood of a retain cycle.
2015-05-01 13:04:26 -04:00
Ethan Nagel
b40c1dbfc3
on ASDataController dealloc, ensure that loaded Cell nodes are not in the TableViewCell. For reasons I don't fully understand, this avoids a retain cycle with the currently displayed cells.
2015-04-22 13:57:25 -07:00
Tobias Klonk
2a29f81b3a
ASTextNode expose exclusion paths
...
expose NSTextContainer's exclusionPaths property on ASTextNode to be able to exclude view areas from typesetting.
This implements #394
2015-04-20 10:21:01 +02:00
Ethan Nagel
68e2e068c3
Bug Fix - ASTableVie sometimes fails to render cell contents when scrolling programatically. Root cause is because we assume UITableView's indexPathsForVisibleRows return the new item to be displayed after tableView:willDisplayCell:forRowAtIndexPath: is called. This is not always true, especially when we are scrolling programmatically. Fix is to track this "pending" visible index path and return it along with the UITableView's indexPathsForVisibleRows in rangeControllerVisibleNodeIndexPaths:.
2015-04-17 16:09:44 -07:00
Ryan Nystrom
527a6228a9
Xcode 6.3 support
2015-04-08 16:35:10 -07:00
Michael Kuntscher
a92dd3189b
Adds property for long press touch cancellation
2015-04-01 16:38:29 -07:00
Ian Cloutier
8699ab8ed7
Fix handling of pending nodes and placeholder layer
2015-03-30 18:59:40 -04:00
Ethan Nagel
abd725d8c1
update documentation for reloadData:completion
2015-03-27 18:14:05 -07:00
Ryan Nystrom
6ae17e55bc
Merge pull request #403 from facebook/touch-forwarding
...
Forward touches to super instead of the superview
2015-03-26 21:11:53 -07:00
Ryan Nystrom
b6715b5cf9
Forward touches to super instead of the superview
...
fixes #402
2015-03-26 21:11:13 -07:00
Ryan Nystrom
29a360d562
Allow double-tap gestures on text nodes
2015-03-26 17:22:22 -07:00
Ethan Nagel
3f509dbd2f
add completion block to reloadData methods
2015-03-26 16:32:44 -07:00
Nadine Salter
13e1c65d03
Fix ASImageNode -measure: / -setImage: deadlock.
...
Speculative fix for #380 . Calling `-[ASImageNode setImage:]` on a
background queue will take the image lock, then trampoline to the main
queue to invalidate calculatedSize and set needsDisplay without
releasing the lock. Any other method call that takes the image lock on
the main queue can block on the trampoline completing -- deadlock.
Note that the trampoline is itself a clowny workaround for thread
affinity (#134 ) and should be removed. With this patch applied,
ASImageNode's `-setImage:` and `-calculateSizeThatFits:` can still race:
1. -setImage changes _image, then trampolines to main
2. -calculateSizeThatFits measures _image
3. trampoline completes, invalidates calculated size
4. ???
5. ~~profit!~~ 💥
2015-03-23 14:05:15 -07:00
Ryan Nystrom
814aff5a6d
Merge pull request #388 from facebook/issue-383
...
Remove ASImageNode's tint property.
2015-03-23 13:59:20 -07:00
Nadine Salter
8164d63d29
Fix ASTextNode positioning for non-left alignment, part deux.
...
Apply the fix from #329 to `-setFrame:`. Fixes #89 .
2015-03-20 12:45:06 -07:00
Nadine Salter
7344cb98bb
Remove ASImageNode's tint property.
...
ASImageNodeTint is inflexible (your options are "no tint" and "use
`[UIColor grayColor]`") and needlessly complicates the ASImageNode
implementation. Use ASImageNodeTintColorModificationBlock() instead.
Closes #383 .
2015-03-20 12:37:27 -07:00
Ryan Nystrom
cd3ad1c86f
Enable nodes entering the visible range to display
2015-03-17 10:52:32 -07:00
Ryan Nystrom
fa2f36004b
Merge pull request #375 from facebook/issue-374
...
Stretchy or mod block images
2015-03-15 15:59:38 -07:00
Ryan Nystrom
59c9fc8819
Stretchy or mod block images
...
fixes #374
2015-03-12 14:41:11 -07:00
Ryan Nystrom
1278fe2cf0
Merge pull request #373 from facebook/issue-349
...
Remove the nil-asyncDelegate proxy.
2015-03-12 14:29:28 -07:00
Nadine Salter
7fa5aa5e01
Merge pull request #371 from facebook/working-window
...
Working range window
2015-03-11 18:02:20 -07:00
Ryan Nystrom
0b19be0f85
Working range window
...
This brings back the concept of a window store for nodes that are in the working range (reverting #127 ). It turns out that due to the system architecture if there are nodes who fetch remote content (e.g. `ASNetworkImageNode`), calls to `-display` will occur before fetching has been completed. The next chance the nodes have to decode and display content is then when they are actually on the screen, thus defeating the purpose of a working range.
With the reintroduction of the working range window, nodes are "stored" in the window and when content is finished being fetched, CA triggers `-display` since they are part of a view hierarchy.
This can be tested in the Kittens project by insuring that before `ASRangeController` adds a node to [a visible view](https://github.com/facebook/AsyncDisplayKit/blob/master/AsyncDisplayKit/Details/ASRangeController.mm#L57 ) that the image node (with remote content) has set its layer's contents.
2015-03-11 17:59:03 -07:00
Nadine Salter
de14f220c3
Merge pull request #367 from facebook/issue-364
...
Thread safe creation and canceling of download tasks
2015-03-11 17:57:52 -07:00
Nadine Salter
a79b771a85
Remove the nil-asyncDelegate proxy.
...
Fixes #349 .
2015-03-11 17:43:45 -07:00
Ryan Nystrom
db8bbcfd0e
Thread safe creation and canceling of download tasks
...
fixes #364
2015-03-11 16:52:14 -07:00
Brian Amerige
9019233c68
Support Forwarding Responder-Chain Actions to Node from its View
...
Summary:
What it says on the tin. This allows Nodes to effectively participate in the responder chain.
Caveat: see note in implementation below. Would have been nice to use `-targetForAction:withSender:` the way the docs imply you can, but alas.
Test Plan: Observe a node in the responder chain get invoked to handle an action it implements.
Reviewers: bcunning, zsh, sma, jpasqualini, suv, nyn531, b3ll, aaronpang, kimon, grp, jonathan, rnystrom, nadi
Reviewed By: nadi
Subscribers: trunkagent, rnystrom
Differential Revision: https://phabricator.fb.com/D1894023
Signature: t1:1894023:1426026643:203945b6a7c318f6d2c9b94d876da61da31327bd
2015-03-11 14:37:17 -07:00
Ryan Nystrom
b6dea69070
Text placeholders snap to pixels
2015-03-11 13:56:12 -07:00
Nadine Salter
a40c8172ac
Merge pull request #365 from facebook/issue-363
...
Range handlers use recursive actions
2015-03-09 12:37:17 -07:00
Ryan Nystrom
5e7755fac0
Range handlers use recursive actions
...
fixes #363
2015-03-09 12:33:02 -07:00
Nadine Salter
afb0aa41b7
Merge pull request #360 from lxcid/bug/block-copy
...
Block should always be declared using the copy attribute.
2015-03-07 14:47:57 -08:00