使用 SDWebImage 时如何设置 contentMode
How to set contentMode when using SDWebImage
我用的是SDWebImage,遇到一个问题
我有一个 UIButton 的 ABCButton 子类。
@interface ABCButton : UIButton
@property (weak, nonatomic) SAIBanner *banner;
@end
@implementation ABCButton
- (void)setBanner:(SAIBanner *)banner {
_banner = banner;
self.contentMode = UIViewContentModeScaleAspectFit;
[self sd_setImageWithURL:[NSURL URLWithString:banner.bannerPicUrl] forState:UIControlStateNormal placeholderImage:[UIImage imageNamed:@"default_banner"]];
}
@end
我发现 setContentMode
不起作用,我的问题是如何在使用 SDWebImage 时设置 contentMode
或 UIButton
或 UIImageView
?
contentMode
是 UIView
class 的 属性。所以你可以在它的所有子classes (UIButton
, UIImageView
...) 中找到它你想指定应该如何调整图像所以你必须设置 contentMode
在按钮 UIImageView
属性 中。如前所述,该按钮具有继承自 UIView
的 contentMode
属性,但不是您需要设置的 属性。
所以你应该改变:
self.contentMode
来自
[self imageView].contentMode
这里是完整的代码:
@interface ABCButton : UIButton
@property (weak, nonatomic) SAIBanner *banner;
@end
@implementation ABCButton
- (void)setBanner:(SAIBanner *)banner {
_banner = banner;
[self imageView].contentMode = UIViewContentModeScaleAspectFit;
[self sd_setImageWithURL:[NSURL URLWithString:banner.bannerPicUrl] forState:UIControlStateNormal placeholderImage:[UIImage imageNamed:@"default_banner"]];
}
@end
我用的是SDWebImage,遇到一个问题
我有一个 UIButton 的 ABCButton 子类。
@interface ABCButton : UIButton
@property (weak, nonatomic) SAIBanner *banner;
@end
@implementation ABCButton
- (void)setBanner:(SAIBanner *)banner {
_banner = banner;
self.contentMode = UIViewContentModeScaleAspectFit;
[self sd_setImageWithURL:[NSURL URLWithString:banner.bannerPicUrl] forState:UIControlStateNormal placeholderImage:[UIImage imageNamed:@"default_banner"]];
}
@end
我发现 setContentMode
不起作用,我的问题是如何在使用 SDWebImage 时设置 contentMode
或 UIButton
或 UIImageView
?
contentMode
是 UIView
class 的 属性。所以你可以在它的所有子classes (UIButton
, UIImageView
...) 中找到它你想指定应该如何调整图像所以你必须设置 contentMode
在按钮 UIImageView
属性 中。如前所述,该按钮具有继承自 UIView
的 contentMode
属性,但不是您需要设置的 属性。
所以你应该改变:
self.contentMode
来自
[self imageView].contentMode
这里是完整的代码:
@interface ABCButton : UIButton
@property (weak, nonatomic) SAIBanner *banner;
@end
@implementation ABCButton
- (void)setBanner:(SAIBanner *)banner {
_banner = banner;
[self imageView].contentMode = UIViewContentModeScaleAspectFit;
[self sd_setImageWithURL:[NSURL URLWithString:banner.bannerPicUrl] forState:UIControlStateNormal placeholderImage:[UIImage imageNamed:@"default_banner"]];
}
@end