尝试设置scrollView的contentSize,我遇到了这个问题(Xcode 6.4)......
这两项工作都很完美:
scrollView.contentSize = CGSize(width:self.view.frame.width, height:1000)
scrollView.contentSize = CGSizeMake(self.view.frame.width, 1000)
一旦let(或var)涉及,这些就不起作用了:
let testing = 1000
scrollView.contentSize = CGSize(width:self.view.frame.width, height:testing)
错误:找不到类型'CGSize'的初始值设定项,它接受类型'(width:CGFloat,height:Int)'的参数列表
let testing = 1000
scrollView.contentSize = CGSizeMake(self.view.frame.width, testing)
错误:无法使用类型'(CGFloat,Int)'的参数列表调用'CGSizeMake'
答案 0 :(得分:2)
将let
语句更改为以下内容:
let testing:CGFloat = 1000
您需要执行此操作,因为CGSizeMake
函数需要两个相同类型的参数,因此您既可以同时生成int
,也可以同时生成CGFloat
个。在这种情况下,首先使用testing
作为CGFloat
可能更容易。在其他情况下,您可能想尝试类似
let testing = 1000
scrollView.contentSize = CGSizeMake(Int(self.view.frame.width), testing)
或者:
let testing = 1000
scrollView.contentSize = CGSizeMake(self.view.frame.width, CGFloat(testing))
这两者都属于同一类型。
答案 1 :(得分:0)
数字文字没有显式类型。它的类型是在编译器评估时推断的。
数字变量必须具有显式类型。默认类型为Int
let testing : CGFloat = 1000.0
scrollView.contentSize = CGSize(width:self.view.frame.width, height:testing)