Skip to content

Commit

Permalink
Fix: text shadow displays on iOS when textShadowOffset is {0,0} (#24398)
Browse files Browse the repository at this point in the history
Summary:
There is a problem rendering text shadows on iOS. If the offset of the text shadow is `{width:0,height:0}`, the shadow does not display. This prevents you from representing a light directly above the text. This occurs because a text shadow only renders if the offset is a non-zero CGRect `{width:0,height:0}`.

My change checks `textShadowRadius` instead. If `textShadowRadius` is not nan then the user is rendering a text shadow. There are no situations to render a shadow without `textShadowRadius` making it a good variable to check.

This PR fixes this stale issue: #17277

[iOS] [Fixed] - Text shadow now displays when the textShadowOffset is {width:0,height:0}
Pull Request resolved: #24398

Differential Revision: D14890768

Pulled By: cpojer

fbshipit-source-id: a43b96a4a04a5603eede466abacd95c010d053e5
  • Loading branch information
Woodpav authored and grabbou committed May 6, 2019
1 parent 4a82dca commit 17a81be
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion Libraries/Text/RCTTextAttributes.m
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ - (void)applyTextAttributes:(RCTTextAttributes *)textAttributes
}

// Shadow
if (!CGSizeEqualToSize(_textShadowOffset, CGSizeZero)) {
if (!isnan(_textShadowRadius)) {
NSShadow *shadow = [NSShadow new];
shadow.shadowOffset = _textShadowOffset;
shadow.shadowBlurRadius = _textShadowRadius;
Expand Down

0 comments on commit 17a81be

Please sign in to comment.