从 storyboard/xib 文件修改 UIImage 渲染模式 [英] Modify UIImage renderingMode from a storyboard/xib file
本文介绍了从 storyboard/xib 文件修改 UIImage 渲染模式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
是否可以从故事板或 xib 编辑器中修改 UIImage
的 renderingMode
?
Is it possible to modify a UIImage
's renderingMode
from a storyboard or xib editor?
目标是将 tintColor
应用到特定的 UIImageView
对象.
The goal is to apply tintColor
to the particular UIImageView
object.
推荐答案
以下是在 .xib 或故事板文件中执行此操作的方法:
Here's how you can do it in .xib or storyboard files:
(Obj-C) 在 UIImageView
上创建一个类别:
(Obj-C) Create a category on UIImageView
:
@interface UIImageView (Utils)
- (void)setImageRenderingMode:(UIImageRenderingMode)renderMode;
@end
@implementation UIImageView (Utils)
- (void)setImageRenderingMode:(UIImageRenderingMode)renderMode
{
NSAssert(self.image, @"Image must be set before setting rendering mode");
self.image = [self.image imageWithRenderingMode:renderMode];
}
@end
(Swift 4) 为 UIImageView
创建一个扩展:
(Swift 4) Create an extension for UIImageView
:
extension UIImageView {
func setImageRenderingMode(_ renderMode: UIImage.RenderingMode) {
assert(image != nil, "Image must be set before setting rendering mode")
// AlwaysOriginal as an example
image = image?.withRenderingMode(.alwaysOriginal)
}
}
然后在xib文件中的Identity Inspector中,添加一个runtime属性:
Then in the Identity Inspector in the xib file, add a runtime attribute:
这篇关于从 storyboard/xib 文件修改 UIImage 渲染模式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文