如何在Swift中创建CGSize?

43

我该如何在Swift中创建CGSize?这是我迄今为止尝试过的(但不起作用):

var s:CGSize = {10,20}
var s:CGSize = CGMakeSize(10,20)
2个回答

100

你的第一次尝试行不通,因为Swift中不存在C结构体。你需要:

let size = CGSize(width: 20, height: 30)

或者(仅在 Swift 3 之前,并且即使是那样,也不被推荐):

let size = CGSizeMake(20,30)

(非MakeSize)。


6
据我所记,文档建议使用第一种方式而不是Objective-C的便利方法。 - Abizern
是的,没错。命名参数也更加方便。 - jrturton
@Machado,这个答案已经在Swift 3中可用了,你是什么意思?let和var与Swift版本无关。 - jrturton
问题是 let size = CGSizeMake(20,30)。在 Swift 中,方法 CGSizeMake 不可用。 - Machado
好的,我已经在答案中添加了一条注释。 - jrturton

33

从 Swift 3 开始,您不能再使用 CGSizeMake

Swift 3 的解决方案是 var size = CGSize(width: 20, height: 30)


他们应该说“Swift中不可用的CGSizeMake”而不是这样,这会误导。 - Saik Caskey

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接