在objectiveC中,我会这样做

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

但在Swift ,我try 过所有类似的 Select ,但都没有成功

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

它显示了一个错误:use of unresolved identifier 'AlwaysOriginal'

我该怎么做?

推荐答案

这就是正确的语法:


(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)

Swift相关问答推荐

结束手势不会在滚动视图中触发

自定义完整屏幕封面动画

如何在realityKit中反转USDZ动画

避免嵌套导航TabView

显示第二个操作紧接在另一个操作后的工作表在SwiftUI中不起作用

在按下按钮动画后执行按钮动作

如何将新事例添加到枚举中?

使用序列初始化字符串的时间复杂度是多少?

Swift数据关系

如何将视图添加到多行文本视图的末尾?

@Binding 在@StateObject 和 View 上被发布了两次?

在 SwiftUI 中将属性显式设置为其默认值

Swift Components.Url 返回错误的 URL

故事板未在助手中显示视图控制器

为什么更改属性后动画会加速? SwiftUI

为什么 `map(foo)` 和 `map{ foo($0) }` 返回不同的结果?

在 ViewController 的 UICollectionView 中拉取刷新

为 UIActivityViewController Swift 设置不同的活动项

如何为多个类 Swift 进行扩展

Swift 5 秒后关闭 UIAlertView