我正在获取图片Size
并使用以下代码。它与Xcode 6.0.1
完美配合。更新为Xcode 6.1
后,我收到错误消息:
'UIImage?' does not have a member named 'size'
var image = UIImage(named: imageName)
let sizeOfImage = image.size
我的代码或Apple有错误吗?请帮帮我。 TIA。
答案 0 :(得分:6)
该初始化程序现在是一个可用的初始化程序,因此它返回一个可选的UIImage
。
要快速修复您的错误,只需解开图片:
let sizeOfImage = image?.size
但我认为你会在代码中引用image
变量不止一次,在这种情况下我建议使用可选绑定:
if let image = image {
let sizeOfImage = image.size
/// ...
/// Use the image
}
答案 1 :(得分:1)
除了@Antonio的答案,您还可以使用nil合并运算符(??)来获取默认大小,以防图像初始化程序失败。方法如下:
let size = image?.size ?? CGSizeZero
答案 2 :(得分:0)
一旦确定可选项确实包含值,就可以通过在可选项名称的末尾添加感叹号(!)来访问其基础值。在你的情况下:image.size!
答案 3 :(得分:0)
你可以像这样使用:
let image = UIImage(named: "photo1.png")
let sizeOfImage = image?.size
imageView.image = image
imageView.frame = CGRect(origin: CGPoint(x: 0, y: 0), size: sizeOfImage!)