Net*_*emo 18 xcode uiimage ios swift
我正在UIButton用图像创建一个
我为此编写了以下代码:
let btnImg=UIButton.buttonWithType(UIButtonType.Custom) as UIButton
let img = UIImage(named: "turn_left") as UIImage
btnImg.setTitle("Turn left", forState: UIControlState.Normal)
btnImg.setImage(img, forState: UIControlState.Normal)
btnImg.frame = CGRectMake(10, 150, 200, 45)
self.view.addSubview(btnImg)
Run Code Online (Sandbox Code Playgroud)
但我得到以下错误let img = UIImage(named: "turn_left") as UIImage:
Swift Compiler error:
Downcast from 'UIImage?' to 'UIImage' only unwraps optionals; did you mean to use '!'?
Run Code Online (Sandbox Code Playgroud)
Tos*_*lji 35
正如错误所述你必须使用'!' ,
试试下面的代码,
let img = UIImage(named: "turn_left") as UIImage! // implicitly unwrapped
Run Code Online (Sandbox Code Playgroud)
要么
let img : UIImage? = UIImage(named: "turn_left") //optional
Run Code Online (Sandbox Code Playgroud)
编辑
创建后,img您需要在使用前检查它是否为零.
Dus*_*ams 15
您总是可以在'if let'中执行此操作,但请注意语法的差异,具体取决于swift的版本.
斯威夫特<2.0:
if let img = img as? UIImage {
Run Code Online (Sandbox Code Playgroud)
Swift 2.0:
if let img = img as UIImage! {
Run Code Online (Sandbox Code Playgroud)
注意感叹号的位置
| 归档时间: |
|
| 查看次数: |
14791 次 |
| 最近记录: |