mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-04-29 12:45:37 +08:00
Fixed image tinting
Summary: public A previous refactor introduced a bug where setting the tintColor of an <Image> to null no longer cleared the tint. This fixes it again. Reviewed By: javache Differential Revision: D2744279 fb-gh-sync-id: 1b5e0d546bf456d7b93e2ceee73c568c185c305c
This commit is contained in:
committed by
facebook-github-bot-6
parent
6355011d17
commit
ce7c0b735f
@@ -108,12 +108,6 @@ RCT_NOT_IMPLEMENTED(- (instancetype)init)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)setTintColor:(UIColor *)tintColor
|
|
||||||
{
|
|
||||||
super.tintColor = tintColor;
|
|
||||||
self.renderingMode = tintColor ? UIImageRenderingModeAlwaysTemplate : UIImageRenderingModeAlwaysOriginal;
|
|
||||||
}
|
|
||||||
|
|
||||||
- (void)setRenderingMode:(UIImageRenderingMode)renderingMode
|
- (void)setRenderingMode:(UIImageRenderingMode)renderingMode
|
||||||
{
|
{
|
||||||
if (_renderingMode != renderingMode) {
|
if (_renderingMode != renderingMode) {
|
||||||
|
|||||||
@@ -33,6 +33,13 @@ RCT_EXPORT_VIEW_PROPERTY(onLoad, RCTDirectEventBlock)
|
|||||||
RCT_EXPORT_VIEW_PROPERTY(onLoadEnd, RCTDirectEventBlock)
|
RCT_EXPORT_VIEW_PROPERTY(onLoadEnd, RCTDirectEventBlock)
|
||||||
RCT_REMAP_VIEW_PROPERTY(resizeMode, contentMode, UIViewContentMode)
|
RCT_REMAP_VIEW_PROPERTY(resizeMode, contentMode, UIViewContentMode)
|
||||||
RCT_EXPORT_VIEW_PROPERTY(source, RCTImageSource)
|
RCT_EXPORT_VIEW_PROPERTY(source, RCTImageSource)
|
||||||
RCT_EXPORT_VIEW_PROPERTY(tintColor, UIColor)
|
RCT_CUSTOM_VIEW_PROPERTY(tintColor, UIColor, RCTImageView)
|
||||||
|
{
|
||||||
|
// Default tintColor isn't nil - it's inherited from the superView - but we
|
||||||
|
// want to treat a null json value for `tintColor` as meaning 'disable tint',
|
||||||
|
// so we toggle `renderingMode` here instead of in `-[RCTImageView setTintColor:]`
|
||||||
|
view.tintColor = [RCTConvert UIColor:json] ?: defaultView.tintColor;
|
||||||
|
view.renderingMode = json ? UIImageRenderingModeAlwaysTemplate : defaultView.renderingMode;
|
||||||
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|||||||
Reference in New Issue
Block a user