在 Swift 中使用 renderingMode 创建 UIImage

Creating UIImage with renderingMode in Swift

提问人:Duck 提问时间:6/10/2014 更新时间:10/16/2017 访问量:38855

问:

在 objectiveC 中,我会这样做

UIImage *image = [[UIImage imageNamed:@"myImage.png"]   imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

但在 Swift 中,我尝试了所有这样的替代方案,但没有成功

var image : UIImage = UIImage(named:"myImage.png").imageWithRenderingMode(renderingMode: AlwaysOriginal)

它显示一个错误:使用未解析的标识符“AlwaysOriginal”

我该怎么做?

iOS UI映像 Swift

评论


答:

180赞 holex 6/10/2014 #1

这将是正确的语法:


(适用于 Swift 3.xSwift 4)

var image: UIImage? = UIImage(named:"myImage")?.withRenderingMode(.alwaysOriginal)

(适用于 Swift 2.x)

var image: UIImage? = UIImage(named:"myImage.png").imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)

但你也可以使用这个“快捷方式”:

var image: UIImage? = UIImage(named:"myImage.png").imageWithRenderingMode(.AlwaysOriginal)

评论

2赞 Duck 6/10/2014
啊,太棒了。传递一种具有枚举值的对象。我以为我只需要传递枚举值。谢谢!
0赞 tomblah 8/11/2021
呃,我希望 Xcode 的代码完整会更聪明一点,例如,如果您输入“.imageWithRenderingMode”,它真的应该预测“.withRenderingMode”......将节省无数的谷歌搜索