在Swift中使用renderingMode创建UIImage

Spa*_*Dog 54 uiimage ios swift

在objectiveC我会这样做

UIImage *image = [[UIImage imageNamed:@"myImage.png"]   imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
Run Code Online (Sandbox Code Playgroud)

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

var image : UIImage = UIImage(named:"myImage.png").imageWithRenderingMode(renderingMode: AlwaysOriginal)
Run Code Online (Sandbox Code Playgroud)

它显示错误:使用未解析的标识符'AlwaysOriginal'

我怎么做?

hol*_*lex 162

这将是正确的语法:


(适用于Swift 3.xSwift 4)

var image: UIImage? = UIImage(named:"myImage")?.withRenderingMode(.alwaysOriginal)
Run Code Online (Sandbox Code Playgroud)

(对于Swift 2.x)

var image: UIImage? = UIImage(named:"myImage.png").imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
Run Code Online (Sandbox Code Playgroud)

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

var image: UIImage? = UIImage(named:"myImage.png").imageWithRenderingMode(.AlwaysOriginal)
Run Code Online (Sandbox Code Playgroud)

  • 啊,真棒.您传递一种具有枚举值的对象.我以为我只需要传递枚举值.谢谢! (2认同)