Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix updating RCTText with new text of the same size
Summary: Fixes #979. Previously, a Text whose width is determined automatically (as opposed to set by a container) would position the text incorrectly after an update to the text *if* the text's width did not change (i.e., when changing only digits in a font with tabular numbers). Every time RCTShadowText's RCTMeasure runs, it sets the text container's size to be the maximum allowed size for the text. When RCTText's drawRect is called later, it relied on layoutSubviews having been called to set the text container's size back to the proper width. But if RCTMeasure returned the same dimensions as last time, then RCTText's frame wasn't reset and so layoutSubviews was never re-called. With this change, we set the textContainer's size each time we draw the text. We could also fix this by using a different NSTextContainer instance in RCTMeasure. Not sure what the pros and cons of that are. Closes #989 Github Author: Ben Alpert <[email protected]> Test Plan: Imported from GitHub, without a `Test Plan:` line.
- Loading branch information