1011 Commits

Author SHA1 Message Date
Scott Goodson
0feaa2a368 Improvements to the efficiency of recursivelySetInterfaceState: and the beta range controller. 2016-01-10 02:40:47 -08:00
Scott Goodson
d45db5ac32 Disable creation of backing ASTable/CollectionNode for the *View varients (retain cycle). 2016-01-09 20:44:24 -08:00
appleguy
c3ef2efe0c Merge pull request #1040 from facebook/ASRangeControllerBetaScrollJump
[ASRangeControllerBeta] Support disjoint ranges between updates (scroll jumps, etc)
2016-01-09 15:54:05 -08:00
Bin Liu
a36a955eb0 fix indentation 2016-01-06 13:09:59 -08:00
Bin Liu
4435405cbb Make ASControlState imitate UIControlState
- selected state isn't implicitly controlled by ASControlNode anymore
- highlighted state can be overriden by users
- Decouple ASButtonNode's state from control events
2016-01-06 12:17:52 -08:00
Scott Goodson
bbfd08829f Switch Tests to use ASRangeControllerBeta. Use NSSet instead of NSMutableSet. 2016-01-05 23:29:11 -08:00
Scott Goodson
d1c3894dbb [ASRangeControllerBeta] Add tracking of all index paths that have .interfaceState set, ensure updating. 2016-01-05 23:17:54 -08:00
Bin Liu
4f67050b9b Fix another typo, fix build failure 2016-01-05 18:04:26 -08:00
Bin Liu
82c098b39d Fixed typo 2016-01-05 17:35:30 -08:00
Bin Liu
6bb51063f9 Replace ASButtonState with ASControlState 2016-01-05 17:07:44 -08:00
appleguy
8a5f080fcc Merge pull request #1026 from 1nput0utput/ASControlNodeMutationCrash
[ASControlNode] Copy event table before calling action methods, as they may trigger action removal.
2016-01-03 20:18:30 -08:00
appleguy
005408bd2c Merge pull request #1030 from facebook/OthogonalEfficiency
[ASRangeController] Inspect delegate's ASInterfaceState to delay preloading beyond viewport until visible.
2016-01-03 20:17:25 -08:00
Scott Goodson
984fe43997 [ASRangeController] Inspect delegate's ASInterfaceState to delay preloading beyond viewport until visible. 2016-01-03 19:14:07 -08:00
Rahul Malik
a509b7523f Update interface of ASViewController to use lightweight generics. This allows
subclasses of ASViewController to specify the type of ASDisplayNode it
contains which allows for stronger type-checking and auto-completion against
the specified type.

Example Subclass Declaration:
@interface MyASViewController : ASViewController<MyASDisplayNodeSubclass *>
@end
2016-01-03 18:56:09 -08:00
Rajinder Ramgarhia
688e8d27de Add comment explaning the change 2016-01-03 11:02:33 -05:00
Scott Goodson
25b6f29584 Introduce ASCollectionInternal file and create always-available ASCView -> ASCNode backpointer. 2016-01-01 23:36:00 -08:00
Rajinder Ramgarhia
73373ee17b Fix ASControlNode mutation crash 2016-01-01 22:27:08 -05:00
Scott Goodson
b273f358f5 [ASRangeController] Initial implementation of functional-style, ASInterfaceState-based range controller. 2016-01-01 00:48:44 -08:00
Scott Goodson
7a9cd1f930 [ASRangeController] Introduce totally rewritten range controller based on ASInterfaceState. 2015-12-31 17:59:59 -08:00
Scott Goodson
8f914f8430 Fix logic error in handling enablement of beta display range. 2015-12-31 15:38:32 -08:00
Scott Goodson
aee7b3b77a Remove padding workaround from old CoreText days.
This is a vestige from Paper.  Discussion: https://github.com/facebook/AsyncDisplayKit/issues/1013
2015-12-31 01:52:08 -08:00
Scott Goodson
df9f433353 Prevent calling unsupported UICollectionViewDelegate methods (supplementary view appearance) 2015-12-31 00:21:20 -08:00
appleguy
50c97b2636 Revert "[ASCellNode] Forward pointInside to node implementation from UITableViewCell." 2015-12-30 23:42:18 -08:00
Scott Goodson
ffcddf36e2 Ensure that ASRangeController immediately removes any deleted nodes from its range state. 2015-12-30 22:42:11 -08:00
appleguy
9b9d8bc9b6 Merge pull request #1016 from facebook/RasterizationUnloadingNodes
Ensure that the uncommon __unloadNode codepath does not unintentionally trigger node removal.
2015-12-30 00:23:06 -08:00
appleguy
cc15d74e67 Merge pull request #1008 from yury/bridge-uitableviewcell-pointinside
[ASCellNode] Forward pointInside to node implementation from UITableViewCell.
2015-12-29 23:25:48 -08:00
Scott Goodson
df3ce787f7 Ensure that the uncommon __unloadNode codepath does not unintentionally trigger node removal. 2015-12-29 23:11:33 -08:00
Scott Goodson
051f1f6cdd Use _ASDisplayLayer for both ASTableView and ASCollectionView. zeroContentInsets to fix UIKit. 2015-12-29 22:24:44 -08:00
Scott Goodson
1870208153 [ASPagerNode] Ensure delegate property can be set before the view is loaded and is not overwritten. 2015-12-29 20:46:42 -08:00
yury
83960065ed Code style fix 2015-12-29 12:10:08 +03:00
yury
382326ea84 Bridge UITableViewCell pointInside to ASNodeCell
Allow ASNodeCell to specify pointInside of UITableViewCell.
This is very usefull, if ASNodeCell is presented as bubble aligned to
left or right (like Messages.app) and we need to be able to select row
only if user taps on bubble.
2015-12-28 16:11:50 +03:00
appleguy
4c4f0c8932 Merge pull request #1006 from facebook/ASNetworkImageFileURLs
[ASNetworkImageNode] Improve handling of file URLs for images.
2015-12-27 17:11:59 -08:00
appleguy
9264496939 Merge pull request #1005 from facebook/ASDisplayNodeContentsPreservation
[ASDisplayNode] Preserve contents after non-range-managed nodes are removed from superviews or windows.
2015-12-27 17:11:49 -08:00
Scott Goodson
b75b72c660 Improve handling of file URLs for ASNetworkImageNode.
Details discussed in https://github.com/facebook/AsyncDisplayKit/pull/1003.  This PR supercedes that one.
2015-12-27 16:38:34 -08:00
Scott Goodson
55861b3de1 Update the expectations of the tests now that the clearContents behavior is corrected. 2015-12-27 16:37:33 -08:00
Scott Goodson
93498d8240 [ASDisplayNode] Preserve contents after non-range-managed nodes are removed from superviews or windows.
This behavior changed in 1.9.3 and introduced flickering in some cases.  Preserving the contents is closer to UIKit behavior.
2015-12-27 15:35:43 -08:00
Scott Goodson
690f90a899 Supplementary nodes must be added to the completed nodes after their measurement completes following individual section reloads. 2015-12-27 15:34:26 -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
a1429ea23b Add ability to enable new rendering range with a class method in ASDisplayNode+Beta.h 2015-12-26 14:22:24 -08:00
Scott Goodson
7dff6ffa14 Re-enable program flow instrumentation for Coveralls. More null-specifiers.
This does cause tests to crash at the end, which unfortunately seems like a known Xcode 7 bug.
2015-12-25 22:13:35 -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
c6fa897dc2 Add nullability annotations to newer APIs that lacked it from the original PR. 2015-12-25 15:35:52 -08:00
Scott Goodson
882d4b336e Merge branch 'master' into pr/664 2015-12-25 14:32:41 -08:00
Scott Goodson
af74f4a1c2 Fix the AsyncDisplayKit tests under Xcode 7! Workaround for unfixed Apple bug with @dynamic on CALayer. 2015-12-25 14:01:18 -08:00
Scott Goodson
99fbc97bda Optimizations for ASTextNode handling of renderer allocation and deallocation.
Optimizations for ASDisplayNode handling of bridged property "contentMode", especially for layer-backed nodes.
2015-12-25 01:36:32 -08:00
Scott Goodson
4ca97e2f4d Optimize string handling for CALayer gravity & UIView content mode. Finally fix protocol rename. 2015-12-24 23:13:50 -08:00
Scott Goodson
f902b4bdc7 Replace property declaration with method overrides for -dataSource. 2015-12-24 22:47:54 -08:00
Scott Goodson
a0e4484ef7 Declare ASPagerNode dataSource property as @dynamic so that it can be a different type than ASCollectionNode. 2015-12-24 22:27:52 -08:00
Scott Goodson
7ece41ff64 Delegate definition tweaks for Table and Collection; ensure Table tests run with ARC enabled. 2015-12-24 21:41:12 -08:00