90 Commits

Author SHA1 Message Date
Nadine Salter
a30c087616 Clean up ASDisplayNode internal flags.
* Reorganise and rename `_flags` for clarity and consistency.
* Remove ambiguity between `implementsDisplay` and `hasClassDisplay`.
* Delete useless `hasWillDisplayAsyncLayer` check -- make it a simple
  subclass override point, as with `didDisplayAsyncLayer:`.
* Minor comment cleanup.
2014-12-02 18:06:11 -08:00
Nadine Salter
a53bc08eaf Merge pull request #127 from facebook/manual-display
Add -[ASDisplayNode display].
2014-12-02 17:49:55 -08:00
Ryan Nystrom
531be46dfd Cleaning up manual display per @secretiverhyme 2014-12-02 16:53:17 -08:00
Ryan Nystrom
8b0dbf7288 Manually display nodes
Added a sample project that will demonstrate how to manually display nodes. Removed the UIWindow hack that coupled display of nodes with Core Animation transactions.
2014-12-02 09:34:24 -08:00
Nadine Salter
5fc5adbb65 Merge pull request #117 from facebook/image-downloader
Simple, drop-in image downloader.
2014-12-01 14:49:44 -08:00
Huy Nguyen
230520fe7e Support custom working-range logic. 2014-11-25 12:31:20 +02:00
Nadine Salter
3c690bf9e5 ASBasicImageDownloader.
This is a simplistic, NSURLSession-based downloader object that
implements ASImageDownloaderProtocol and can be used with
ASMultiplexImageNode and ASNetworkImageNode.

(Closes #115.  NSURLSession should suffice for most usecases, and this
code should provide a good jumping-off point for a more-complex
implementation.)
2014-11-21 18:40:18 -08:00
Nadine Salter
18d52949e6 Missed a spot! 2014-11-21 17:48:29 -08:00
Nadine Salter
03156dceb6 ASNetworkImageNode ARC fixes. 2014-11-21 17:05:24 -08:00
Nadine Salter
964d109be6 ASImageNodeRoundBorderModificationBlock(). 2014-11-20 11:38:47 -08:00
Nadine Salter
460b3582c9 Update umbrella header. 2014-11-18 18:21:41 -08:00
Nadine Salter
1eda1834e6 ASNetworkImageNode.
Initial open-source release of ASNetworkImageNode, a simple counterpart
to ASMultiplexImageNode.
2014-11-18 18:07:31 -08:00
Nadine Salter
38f8e63b01 Support fractional tuning parameters (fixes #112). 2014-11-18 14:15:01 -08:00
appleguy
3f7dc75bb1 Merge pull request #101 from nguyenhuy/collection_view
Add ASCollectionView
2014-11-17 19:03:59 -08:00
Nadine Salter
3c8d4e9517 ASMultiplexImageNode.
Initial open-source release of ASMultiplexImageNode.  Documentation and
example code forthcoming.

Note:  ASMultiplexImageNode requires Xcode 6 to compile.  Tests are now
compiled against the iOS 8 SDK and run on iOS 7.1 and iOS 8.
2014-11-17 15:02:17 -08:00
Kyle Hickinson
7d7e4262ae Text node highlights fully fade in before fading out 2014-11-16 11:58:01 -05:00
Nadine Salter
0653f7387a Merge pull request #102 from aleclarson/patch-1
[ASDisplayNode convertRect:fromNode:] patch
2014-11-14 13:39:39 -08:00
aleclarsoniv
c3cda17941 Add ASDisplayNode.cornerRadius 2014-11-13 17:56:05 -08:00
Alec Larson
73073215c6 [ASDisplayNode convertRect:fromNode:] hotfix
`_calculateTransformFromReferenceToTarget()` was being called incorrectly! 👍
2014-11-13 16:43:45 -08:00
Huy Nguyen
0eb7e5fc39 Update ASRangeController to support ASCollectionView and no longer assume vertical scrolling when calculates working range. 2014-11-12 21:27:26 +02:00
Huy Nguyen
a3bc21f29f Make constrained size for nodes adapt to ASCollectionView's scrolling direction. 2014-11-12 21:27:25 +02:00
Huy Nguyen
c42d41fb4c Provide ASCollectionView::calculatedSizeForNodeAtIndexPath:, to be used in custom UICollectionViewLayouts. 2014-11-12 21:27:25 +02:00
Huy Nguyen
3642d5773a Fix ASCollectionView::rangeControllerVisibleNodeIndexPaths: to return a sorted array. 2014-11-12 21:27:04 +02:00
Huy Nguyen
1df67c42b9 Implement ASCollectionView. Horizontal scrolling is not supported yet. 2014-11-12 21:25:56 +02:00
Huy Nguyen
8e0c49a909 Define ASCollectionView interface, ASCollectionViewDataSource and ASCollectionViewDelegate protocols. 2014-11-10 22:56:21 +02:00
Nadine Salter
6c9e499875 Minor ASRangeController improvements (fixes #81). 2014-11-07 15:51:55 -08:00
Nadine Salter
a3e78d1cee Support background colour and selection style on ASCellNodes.
Most UITableViewCell properties aren't useful in conjunction with
ASCellNode -- the system's UIView properties are unsupported for
performance reasons, and properties that configure them (e.g., content
indentation) don't affect custom node hierarchies.  This patch adds
support to _ASTableViewCell for the properties that *are* useful.

r=scottg
2014-11-03 17:45:40 -08:00
appleguy
8da4858c79 Merge pull request #75 from davbeck/master
Added tintColor convenience methods
2014-11-03 10:47:52 -08:00
appleguy
dee25b3177 Merge pull request #84 from bcunning/highlight-origin-fix
Fix text highlighting in UIScrollView
2014-11-03 10:42:02 -08:00
appleguy
a1f1ef7c10 Merge pull request #85 from bcunning/text-tap-delegate
Add point parameter to ASTextNode delegate methods
2014-11-03 10:40:52 -08:00
Raphaël MOR
3485541d01 Changed ASControlNodeEvent enum to NS_OPTIONS so that it can be used in swift 2014-11-03 10:22:45 +01:00
Ben Cunningham
32d005dc0b Add point parameter to ASTextNode delegate methods
Outfit ASTextNodeDelegate shouldHighlight and shouldLongPress methods
with a point parameter that describes the location of the relevant
touch.
2014-10-27 16:53:44 -07:00
Ben Cunningham
9d866f63e3 Fix text highlighting in UIScrollView
Highlight target layers with non-zero bounds.origin exhibited broken
text highlighting behavior. Highlights would appear offset by the
layer’s bounds.origin, and would not align with their target text. This
most often appeared in UIScrollView, where highlights would appear
incorrectly offset once the scroll view was scrolled. Fix by accounting
for bounds.origin in the calculations of the text overlay highlight
rects.
2014-10-27 16:46:01 -07:00
David Beck
4ed2120cfa Added tintColor convenience methods
tintColor is now forwarded to the underlying view, and much more importantly, the node is notified when the tintColor changes on the view.
2014-10-23 19:51:10 -07:00
Nadine Salter
0a78dfe43c Merge pull request #71 from rainypixels/row-animation
Fix #67
2014-10-22 14:59:58 -07:00
Nishant Kothary
1010224007 Fix #67 2014-10-22 13:59:22 -07:00
Nadine Salter
d0b7a015e8 Improve ASRangeController dealloc-safety.
(1) We can't size nodes without a delegate, and if our owning controller
has been deallocated, our delegate will be nil.  Handle this more
gracefully.

(2) Our teardown code needs to be executed on the main thread, but it's
conceivable that we might hit refcount 0 on a background queue.  Force
deallocation to occur on the main thread.

Closes #27.
2014-10-22 13:50:24 -07:00
Nadine Salter
72f9cb9d73 Remove ASImageNode thread affinity asserts (#57). 2014-10-22 13:50:02 -07:00
Nadine Salter
367b6da116 Use ASDisplayNodeScreenScale().
ASImageNode and ASHighlightOverlayLayer were both using
[[UIScreen mainScreen] scale] directly.  Bad.  No cookie.  Use
ASDisplayNodeScreenScale() instead.

(Also, regenerate Xcode project with Xcode 6 and current CocoaPods.)
2014-10-22 13:36:40 -07:00
Nadine Salter
d01fb5f418 Fix ASDisplayNodeScreenScale() warning. 2014-10-20 14:12:49 -07:00
Nadine Salter
2d26249cb0 Add -didExitHierarchy internal hook. 2014-10-20 13:47:31 -07:00
Nadine Salter
77412a2612 [appledoc] Fix hierarchy / memory docblocks. 2014-10-20 13:27:59 -07:00
Nadine Salter
47d70d39cd Add REQUIRES_SUPER annotations.
Closes #51.
2014-10-20 13:23:23 -07:00
Nadine Salter
4ce6820efb [appledoc] Document ASCellNode. 2014-10-17 15:53:11 -07:00
Nadine Salter
9225309c9a [appledoc] Fix all appledoc warnings. (#65) 2014-10-17 15:41:25 -07:00
Nadine Salter
f493b130ef [appledoc] Enable explicit crossrefs.
Fix warnings for existing `@see ...` crossrefs.
2014-10-17 15:41:25 -07:00
Nadine Salter
673c24946b [appledoc] Include subclassing header.
Use `--no-merge-categories` to prevent subclassing-only documentation
from appearing in the general API reference.  Use consistent category
names.
2014-10-17 14:50:27 -07:00
Nadine Salter
b2d4e2c717 Fix ASImageNode docblocks.
(#64, #65)
2014-10-17 13:43:01 -07:00
林藍東
faab914a08 Fix issue #61 2014-10-17 19:22:17 +08:00
Leo Lou
ccbbdba53e Fix documentation typos 2014-10-16 15:38:08 +08:00