Revert D14875673: Add border properties to RCTImageView

Differential Revision:
D14875673

Original commit changeset: 594b2cd1ddff

fbshipit-source-id: a9cb74a6dea7bc61e16a146085d08754bdd4bd6e
This commit is contained in:
Alexander Vasyuk 2019-04-12 12:47:02 -07:00 коммит произвёл Facebook Github Bot
Родитель b1f1c5375c
Коммит a789ec6193
2 изменённых файлов: 19 добавлений и 32 удалений

Просмотреть файл

@ -6,13 +6,13 @@
*/ */
#import <UIKit/UIKit.h> #import <UIKit/UIKit.h>
#import <React/RCTView.h>
#import <React/RCTResizeMode.h> #import <React/RCTResizeMode.h>
@class RCTBridge; @class RCTBridge;
@class RCTImageSource; @class RCTImageSource;
@interface RCTImageView : RCTView @interface RCTImageView : UIImageView
- (instancetype)initWithBridge:(RCTBridge *)bridge NS_DESIGNATED_INITIALIZER; - (instancetype)initWithBridge:(RCTBridge *)bridge NS_DESIGNATED_INITIALIZER;

Просмотреть файл

@ -78,13 +78,11 @@ static NSDictionary *onLoadParamsForSource(RCTImageSource *source)
// Whether the latest change of props requires the image to be reloaded // Whether the latest change of props requires the image to be reloaded
BOOL _needsReload; BOOL _needsReload;
UIImageView *_imageView;
} }
- (instancetype)initWithBridge:(RCTBridge *)bridge - (instancetype)initWithBridge:(RCTBridge *)bridge
{ {
if ((self = [super initWithFrame:CGRectZero])) { if ((self = [super init])) {
_bridge = bridge; _bridge = bridge;
NSNotificationCenter *center = [NSNotificationCenter defaultCenter]; NSNotificationCenter *center = [NSNotificationCenter defaultCenter];
@ -96,8 +94,6 @@ static NSDictionary *onLoadParamsForSource(RCTImageSource *source)
selector:@selector(clearImageIfDetached) selector:@selector(clearImageIfDetached)
name:UIApplicationDidEnterBackgroundNotification name:UIApplicationDidEnterBackgroundNotification
object:nil]; object:nil];
_imageView = [[UIImageView alloc] init];
[self addSubview:_imageView];
} }
return self; return self;
} }
@ -109,14 +105,10 @@ static NSDictionary *onLoadParamsForSource(RCTImageSource *source)
RCT_NOT_IMPLEMENTED(- (instancetype)init) RCT_NOT_IMPLEMENTED(- (instancetype)init)
RCT_NOT_IMPLEMENTED(- (instancetype)initWithCoder:(NSCoder *)aDecoder)
RCT_NOT_IMPLEMENTED(- (instancetype)initWithFrame:(CGRect)frame)
- (void)updateWithImage:(UIImage *)image - (void)updateWithImage:(UIImage *)image
{ {
if (!image) { if (!image) {
_imageView.image = nil; super.image = nil;
return; return;
} }
@ -133,16 +125,16 @@ RCT_NOT_IMPLEMENTED(- (instancetype)initWithFrame:(CGRect)frame)
} }
// Apply trilinear filtering to smooth out mis-sized images // Apply trilinear filtering to smooth out mis-sized images
_imageView.layer.minificationFilter = kCAFilterTrilinear; self.layer.minificationFilter = kCAFilterTrilinear;
_imageView.layer.magnificationFilter = kCAFilterTrilinear; self.layer.magnificationFilter = kCAFilterTrilinear;
_imageView.image = image; super.image = image;
} }
- (void)setImage:(UIImage *)image - (void)setImage:(UIImage *)image
{ {
image = image ?: _defaultImage; image = image ?: _defaultImage;
if (image != _imageView.image) { if (image != self.image) {
[self updateWithImage:image]; [self updateWithImage:image];
} }
} }
@ -165,7 +157,7 @@ RCT_NOT_IMPLEMENTED(- (instancetype)initWithFrame:(CGRect)frame)
_needsReload = YES; _needsReload = YES;
} else { } else {
_capInsets = capInsets; _capInsets = capInsets;
[self updateWithImage:_imageView.image]; [self updateWithImage:self.image];
} }
} }
} }
@ -174,7 +166,7 @@ RCT_NOT_IMPLEMENTED(- (instancetype)initWithFrame:(CGRect)frame)
{ {
if (_renderingMode != renderingMode) { if (_renderingMode != renderingMode) {
_renderingMode = renderingMode; _renderingMode = renderingMode;
[self updateWithImage:_imageView.image]; [self updateWithImage:self.image];
} }
} }
@ -194,9 +186,9 @@ RCT_NOT_IMPLEMENTED(- (instancetype)initWithFrame:(CGRect)frame)
if (_resizeMode == RCTResizeModeRepeat) { if (_resizeMode == RCTResizeModeRepeat) {
// Repeat resize mode is handled by the UIImage. Use scale to fill // Repeat resize mode is handled by the UIImage. Use scale to fill
// so the repeated image fills the UIImageView. // so the repeated image fills the UIImageView.
_imageView.contentMode = UIViewContentModeScaleToFill; self.contentMode = UIViewContentModeScaleToFill;
} else { } else {
_imageView.contentMode = (UIViewContentMode)resizeMode; self.contentMode = (UIViewContentMode)resizeMode;
} }
if ([self shouldReloadImageSourceAfterResize]) { if ([self shouldReloadImageSourceAfterResize]) {
@ -219,8 +211,8 @@ RCT_NOT_IMPLEMENTED(- (instancetype)initWithFrame:(CGRect)frame)
- (void)clearImage - (void)clearImage
{ {
[self cancelImageLoad]; [self cancelImageLoad];
[_imageView.layer removeAnimationForKey:@"contents"]; [self.layer removeAnimationForKey:@"contents"];
_imageView.image = nil; self.image = nil;
_imageSource = nil; _imageSource = nil;
} }
@ -359,10 +351,10 @@ RCT_NOT_IMPLEMENTED(- (instancetype)initWithFrame:(CGRect)frame)
} }
if (image.reactKeyframeAnimation) { if (image.reactKeyframeAnimation) {
[self->_imageView.layer addAnimation:image.reactKeyframeAnimation forKey:@"contents"]; [self.layer addAnimation:image.reactKeyframeAnimation forKey:@"contents"];
} else { } else {
[self->_imageView.layer removeAnimationForKey:@"contents"]; [self.layer removeAnimationForKey:@"contents"];
self->_imageView.image = image; self.image = image;
} }
if (isPartialLoad) { if (isPartialLoad) {
@ -409,8 +401,8 @@ RCT_NOT_IMPLEMENTED(- (instancetype)initWithFrame:(CGRect)frame)
_targetSize = frame.size; _targetSize = frame.size;
[self reloadImage]; [self reloadImage];
} else if ([self shouldReloadImageSourceAfterResize]) { } else if ([self shouldReloadImageSourceAfterResize]) {
CGSize imageSize = _imageView.image.size; CGSize imageSize = self.image.size;
CGFloat imageScale = _imageView.image.scale; CGFloat imageScale = self.image.scale;
CGSize idealSize = RCTTargetSize(imageSize, imageScale, frame.size, RCTScreenScale(), CGSize idealSize = RCTTargetSize(imageSize, imageScale, frame.size, RCTScreenScale(),
(RCTResizeMode)self.contentMode, YES); (RCTResizeMode)self.contentMode, YES);
@ -458,9 +450,4 @@ RCT_NOT_IMPLEMENTED(- (instancetype)initWithFrame:(CGRect)frame)
} }
} }
- (void)layoutSubviews {
[super layoutSubviews];
_imageView.frame = self.bounds;
}
@end @end