696 Commits

Author SHA1 Message Date
appleguy
80bbf79046 Merge pull request #620 from nguyenhuy/617_relayout_loading_nodes
Fix new constrained size is not applied to loading nodes
2015-08-21 21:03:30 -07:00
appleguy
80d8015240 Merge pull request #618 from garrettmoon/fixStaticLayoutWithCollectionView
Static layout doesn't properly set a height for collection view cells
2015-08-21 21:02:38 -07:00
Huy Nguyen
97f323a8d9 Fix relayoutAllRows to trigger measurement (with the new constrained size) on all nodes, including loading ones. 2015-08-21 01:02:19 +03:00
Huy Nguyen
3e5d5c44cb Test relayout caused by a different constrained size for each and every node. All nodes, including loading ones, must be re-measured. 2015-08-21 00:59:21 +03:00
Garrett Moon
6624b84c4c Static layout doesn't properly set a height for collection view cells
because their size.width / size.height isn't nan, but FLT_MAX.
2015-08-20 10:40:00 -07:00
Scott Goodson
60cf43766b Revert "Switch to use only layers for offscreen working range window."
There is an unsolved issue with this optimization that may cause crashes
in certain cases.  Reverting until it's properly resolved.  It doesn't
appear to be possible to cause the issue in the test apps used to develop it.

This reverts commit 3f982b5c9a7e4a557c102268f11f71b58085ffef.
2015-08-17 17:19:51 -07:00
appleguy
bd9c9030d9 Merge pull request #610 from SRandazzo/606_sizezero_nil_text
Return CGSizeZero when computing the size of zero-length strings in ASTextNode.
2015-08-17 17:06:54 -07:00
appleguy
977c17b019 Merge pull request #614 from eanagel/reduce-UIColor-AttributedString-calls
Node init performance: Use shares UIColor/NSAttributedString instances
2015-08-17 17:03:11 -07:00
Ethan Nagel
f7fb6dc4e7 Node init performance: Use share instances of UIColor and NSAttributedString for defaults. 2015-08-17 12:23:25 -07:00
Sal
05cb1d734d use attributedString.length instead of attributedString.string.length to check for empty strings 2015-08-16 18:24:20 -04:00
appleguy
3983bf2289 Merge pull request #603 from nguyenhuy/improved_external_relayout
Improve relayout when constrained size of all nodes is changed
2015-08-15 22:07:50 -07:00
appleguy
33912dfc49 Merge pull request #608 from nguyenhuy/preferredFrameSize_bugs
Fix small bugs related to preferredFrameSize
2015-08-15 22:00:54 -07:00
Sal
f06630c55a Add test coverage for ASTextNodeRenderer to validate nil and empty strings produce CGSizeZero 2015-08-13 13:57:54 -04:00
Sal
344c472349 Return CGSizeZero if ASTextNode's text length or attributed string is nil 2015-08-13 13:53:08 -04:00
Huy Nguyen
1313c11519 preferredFrameSize should be used even if neither -layoutSpecThatFits: nor -calculateSizeThatFits: is overridden by subclassses. 2015-08-13 07:53:00 +03:00
Huy Nguyen
c7043a193c When a new preferredFrameSize is set, previously calculated layout should be invalidated so that the size will be picked up in the next layout pass. 2015-08-13 07:52:42 +03:00
Huy Nguyen
7249661990 Improve relayout when constrained size of all nodes is changed:
- In -layoutSubviews of table and collection views, detect changes that cause a different constrained size for nodes, and trigger relayout immediately.
- Orientation change can be handled by this solution. So, no need to observe to its events.
- Update Kittens example to support iPad (easier to catch bugs on these devices) and add a title to navigation bar (looks a bit nicer).
2015-08-13 06:28:47 +03:00
appleguy
e93e97ad5f Merge pull request #607 from facebook/OptimizeWorkingRange
Optimization: use only layers for offscreen working range window.
2015-08-12 19:02:00 -07:00
Scott Goodson
3f982b5c9a Switch to use only layers for offscreen working range window.
ASDK layout and display calls don't depend on UIView in any way, so this
will reduce UIView-specific overhead from heirarchy manipulation.
2015-08-12 18:03:47 -07:00
appleguy
7c78dfdd5f Merge pull request #599 from nguyenhuy/different_constrained_size_per_node
Support different constrained size range per cell, for both tables and collections.
2015-08-12 15:54:55 -07:00
appleguy
57291fa544 Merge pull request #590 from rcancro/master
Add expectedSize to ASNetworkImageNode
2015-08-12 15:51:57 -07:00
ricky cancro
3bc692c938 comments 2015-08-12 15:29:26 -07:00
ricky cancro
b4e6591ad8 call super to return preferredFrameSize. 2015-08-12 13:43:10 -07:00
Huy Nguyen
a3c2dbf8cd Table and collection views' async data source can provide different constrained size per node. And because the size is of type ASSizeRange, it has a min size that is very helpful in many cases.. 2015-08-12 22:45:08 +03:00
appleguy
356ea9dc7f Merge pull request #604 from garrettmoon/fixCrashForNonFlowLayout
Don't assume flow layout when checking for insetSections
2015-08-12 12:26:20 -07:00
Garrett Moon
592e0301dd cache result of responds to selector 2015-08-12 11:46:46 -07:00
appleguy
91bffc8ca2 Merge pull request #602 from shannonma/merge_fork
Fix race in ASDisplayNodeRespectThreadAffinityOfNode
2015-08-12 11:40:21 -07:00
Garrett Moon
4f4a26d2a3 ASDK now supports non-flow layouts. We shouldn't be assuming a flow layout. 2015-08-12 11:33:40 -07:00
Shannon Ma
c26e9c7e94 Fix race in ASDisplayNodeRespectThreadAffinityOfNode 2015-08-10 16:42:02 -07:00
rcancro
7cc996c190 Merge branch 'master' of github.com:rcancro/AsyncDisplayKit
# Conflicts:
#	AsyncDisplayKit/ASDisplayNode.h
#	AsyncDisplayKit/ASDisplayNode.mm
#	AsyncDisplayKit/ASImageNode.mm
#	examples/Kittens/Sample/KittenNode.mm
2015-08-09 16:43:08 -07:00
ricky cancro
b58e8344c0 Add expectedSize to ASNetworkImageNode
ASNetworkImageNode defers to ASImageNode to return its calculatedSize. ASImageNode returns the size of its image. There is a good chance that ASNetworkImageNode hasn't downloaded its image yet when calculatedSize is called, so it returns a size of CGSizeZero.

On top of that, it is possible that the size of the image is not actually the size that we wish to display in our node.

I've added an "expectedImageSize" property that can be used to determine the calculatedSize of an ASNetworkImageNode.
2015-08-09 16:34:44 -07:00
appleguy
d401b0e5f6 Merge pull request #593 from shannonma/merge_fork
Fixes for ASTextNode test, setNeedsDisplay and font loading failures
2015-08-08 18:55:00 -07:00
appleguy
368d3af21a Merge pull request #595 from nguyenhuy/external_relayout
Support relayout of cells in ASTableView and ASCollectionView after their size changes.

This allows rotation and cell editing modes to work correctly, as is now supported in the Kittens demo app.
2015-08-08 18:27:18 -07:00
Huy Nguyen
219b659b38 - Automatically relayout cells when editing mode is used.
- Add editing mode to Kitten sample.
2015-08-09 00:45:54 +03:00
Huy Nguyen
e657bedd40 Automatically relayout cells after orientation changed. 2015-08-09 00:36:58 +03:00
Shannon Ma
6275219f79 Revert Cocoapod version update 2015-08-07 09:26:53 -07:00
appleguy
8da9ddd884 Merge pull request #598 from nguyenhuy/wrong_implementsInsetSection
Fix _implementsInsetSection of ASCollectionView being check before the asyncDelegate is set
2015-08-05 16:45:56 -07:00
Huy Nguyen
60ed2bca47 Fix _implementsInsetSection of ASCollectionView being check before the asyncDelegate is set. 2015-08-05 17:33:56 +03:00
appleguy
f97af9cb26 Merge pull request #594 from nguyenhuy/relayout_same_constrained_size
Support internal relayout
2015-08-04 12:27:30 -07:00
appleguy
936bc2534d Merge pull request #596 from levi/master
Add support for sectionInset in ASCollectionView in property and delegate form
2015-08-04 12:06:04 -07:00
ricky cancro
c03ed9a8f4 ASDisplayNode returns requestedLayoutSize by default 2015-08-04 08:12:32 -07:00
appleguy
a8ad21e850 Merge pull request #597 from marmelroy/issue-591
Fixing build issues for framework target - Issue #591
2015-08-03 22:32:44 -07:00
rcancro
496cc43337 Updates to expectedImageSize
* renamed property to requestedLayoutSize
* moved property to ASDisplayNode
2015-08-03 22:09:50 -07:00
Roy Marmelstein
26202865ac Adding files that were missing from the framework target 2015-08-04 00:07:30 +02:00
Roy Marmelstein
76e5f794da Fixing framework target build issues - missing info plist and headers 2015-08-03 23:47:53 +02:00
Levi McCallum
5eb75d6bc7 Add support for sectionInset in ASCollectionView in property and delegate form 2015-08-03 14:36:29 -07:00
Huy Nguyen
77b586a7e6 Improvements on internal relayout. 2015-08-03 06:25:23 +03:00
Huy Nguyen
0acfea234f Update comments of setNeedsLayout and setNeedsDisplay of ASDisplayNode. 2015-08-03 02:30:08 +03:00
Huy Nguyen
56768a837a - Support internal relayout, that is a relayout caused by internal layout changes, like subnodes re-arrangement and/or subnodes' size change. The constrained size applied to root node is unchanged.
- Update Kittens example to show how internal relayout is done.
2015-08-02 17:18:45 +03:00
Shannon Ma
d5de2a22fd Text node to gracefully fail upon font failure 2015-07-31 12:24:04 -07:00