Skip to content

Commit a9afbaf

Browse files
committed
add support for resize mode
1 parent 1ed07ef commit a9afbaf

File tree

3 files changed

+20
-0
lines changed

3 files changed

+20
-0
lines changed

ios/FirebaseUIImageView.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,12 @@
99
#import "Firebase.h"
1010
#import <FirebaseStorageUI/FirebaseStorageUI.h>
1111

12+
#import <React/RCTResizeMode.h>
1213

1314
@interface FirebaseImageView : UIImageView
1415

1516
@property (nonatomic, copy) NSString *path;
17+
@property (nonatomic, assign) RCTResizeMode resizeMode;
1618

1719
@end
1820

ios/FirebaseUIImageView.m

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,21 @@ - (void)setPath:(NSString *)path
2727
[self sd_setImageWithStorageReference:reference placeholderImage:placeholderImage];
2828
}
2929

30+
- (void)setResizeMode:(RCTResizeMode)resizeMode
31+
{
32+
if (_resizeMode != resizeMode) {
33+
_resizeMode = resizeMode;
34+
35+
if (_resizeMode == RCTResizeModeRepeat) {
36+
// Repeat resize mode is handled by the UIImage. Use scale to fill
37+
// so the repeated image fills the UIImageView.
38+
self.contentMode = UIViewContentModeScaleToFill;
39+
} else {
40+
UIViewContentMode contentMode = (UIViewContentMode)resizeMode;
41+
self.contentMode = contentMode;
42+
self.clipsToBounds = true;
43+
}
44+
}
45+
}
46+
3047
@end

ios/RCTFirebaseImageViewManager.m

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ @implementation RCTFirebaseImageViewManager
1414

1515
RCT_EXPORT_MODULE()
1616
RCT_EXPORT_VIEW_PROPERTY(path, NSString)
17+
RCT_EXPORT_VIEW_PROPERTY(resizeMode, RCTResizeMode)
1718

1819
- (UIView *)view
1920
{

0 commit comments

Comments
 (0)