无法在Swift中使用CGRect类型的参数调用+

Bla*_*ard 1 cgrect cgrectmake swift xcode6

我想UITableViewCGRectMake函数启动一个实例,但是当我尝试使用常量启动它而不是直接指定一个新的Int,例如:

UITableView(frame: CGRectMake(20, HEIGHT_OF_STATUS_AND_NAVIGATION_BAR + 120, tableWidth, tableHeight)
Run Code Online (Sandbox Code Playgroud)

,然后我收到一个错误:Int is not convertible to CGFloat.

所以我将其更改为以下代码:

UITableView(frame: CGRectMake(20, (HEIGHT_OF_STATUS_AND_NAVIGATION_BAR + 120) as CGFloat, tableWidth as CGFloat, tableHeight as CGFloat)) // `tableWidth` and `tableHeight` are both of type `Int`.
Run Code Online (Sandbox Code Playgroud)

,然后我收到一个错误:Cannot invoke + with an argument of type CGRect.

当然,我可以通过分配来启动它Int,例如CGRectMake(20 + 300 + 12, 44 + 120, 300, 480).但我想使用常量和变量.

那么错误是什么意思呢?我该如何解决?

我使用Xcode 6 beta 6.

Bla*_*ard 6

顺便@马丁- [R确实效果很好,但后来我发现,没有理由刻意去使用CGFloat()-你可以使用CGRect(),而不是CGRectMake()在雨燕上,您可以指定参数作为Int以及DoubleCGFloat所有x,y,width,和height属性,只要所有四个属性属于同一类型.此外,在这种情况下,您不能省略每个属性的名称CGRectMake(),但这更容易,更灵活,并且被认为是CGRectSwift中的默认初始化程序.