Commit Graph
20 Commits
Author SHA1 Message Date
rcancro ffde31a1b2 Fixed a crash in ASTextNode that I made
fixes a crash introduced by https://github.com/facebook/AsyncDisplayKit/pull/1637
2016-05-10 15:25:34 -07:00
rcancro 22e026a5e1 fix truncater method to only return the truncater. 2016-05-09 16:36:27 -07:00
rcancro 082ababda6 Fix to text shrinking
Summary: Previously the first thing we did when calculating the size of text was to truncate it. This could lead to ASFontSizeAdjuster being sent a truncated string which, obviously, never needed to shrink. If we change the order then we first shrink, then truncate if still necessary.

Reviewers: scottg, levi, garrett

Differential Revision: https://phabricator.pinadmin.com/D89780
2016-05-09 15:59:08 -07:00
Scott Goodson daf41ebb43 [ASTextNode] Fix edge case where text truncator may not run (manually hosted nodes that are lacking the expected call to -measure).
This fixes the scenario described in https://github.com/facebook/AsyncDisplayKit/issues/1295
2016-03-26 18:19:02 -07:00
rcancro bcb1832fcd Fixed some text shrinking issues
Previously I was multiplying the calculated height of the text by the scale factor. This fails in the case where we have a long string that doesn't fit, but it is shrunk so much that it now has more than enough room in the renderer's constrained size. In this case we fail to update the calculated size's width.

Also updated `lineCountForString` in `ASTextKitFontSizeAdjuster` to reuse a sizer layout manager and text container.
2016-03-09 15:27:33 -08:00
rcancro 8dbc8b7df4 reordered conditionals, moved beta things to beta header file 2016-02-24 08:06:10 -08: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
rcancro 00b0968bf7 Add ability to customize NSLayoutManager and NSTextStorage when created in the ASTextKitContext 2016-02-22 13:00:02 -08:00
rcancro a920e353c6 adjust font size to make text fit within constrained size
# Conflicts:
#	AsyncDisplayKit/ASTextNode.mm
2016-02-16 16:16:22 -08:00
Tom King d0edbe809a ensure that the truncater is initialized before the context is in _calculateSize 2016-01-29 09:32:40 -05:00
appleguy 2c194fd924 Merge pull request #1140 from rcancro/textNodeWordSpacing
[ASTextNode] Added ASTextNodeWordKerner support
2016-01-28 15:38:00 -08:00
rcancro 7f6f2fed11 Added ASTextNodeWordKerner support to ASTextNode
* Added a member to `ASTextKitAttributes` that is an optional delegate to the struct's NSLayoutManager.
* Changed ASTextNode to set this delegate to an instance of ASTextNodeWordKerner.
* Updated init method of `ASTextKitContext` to take an optional NSLayoutManager delegate
* Added the files in TextKit folder to the public headers (so we can include ASTextNodeTypes.h)
2016-01-28 08:38:22 -08:00
Luke Zhao 733c65d1eb fix bug: constraint size not updated for frontsizeadjuster 2016-01-27 13:49:00 -08:00
appleguy 508e3db8ee Merge pull request #1091 from lkzhao/ASTextKitFontSizeAdjuster
[ASTextNode] Support iteratively shrinking font size in order to ensure no single words are wrapped.
2016-01-25 19:36:39 -08:00
Luke Zhao f413a618e0 add ASTextKitFontSizeAdjuster 2016-01-25 19:07:28 -08:00
yury 313a3cc63c Create Truncater with context. So it will actually truncate string in its initializer 2016-01-25 16:48:55 +03:00
Scott Goodson 9ddf68fa96 [ASTextNode] Optimize handling of constrained size to almost never recreate NSLayoutManager
This also fixes two fairly subtle but serious bugs, #1076 and #1046.
2016-01-24 00:50:43 -08:00
Aaron Schubert 10a2984d8c Potential fix for #1076 2016-01-19 12:25:30 +00: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
Levi McCallum a0c05ebffc Rename CK classes to AS classes 2015-11-30 06:44:53 -08:00