Bla*_*ard 1 cgrect cgrectmake swift xcode6
我想UITableView从CGRectMake函数启动一个实例,但是当我尝试使用常量启动它而不是直接指定一个新的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.
顺便@马丁- [R确实效果很好,但后来我发现,没有理由刻意去使用CGFloat()-你可以使用CGRect(),而不是CGRectMake()在雨燕上,您可以指定参数作为Int以及Double或CGFloat所有x,y,width,和height属性,只要所有四个属性属于同一类型.此外,在这种情况下,您不能省略每个属性的名称CGRectMake(),但这更容易,更灵活,并且被认为是CGRectSwift中的默认初始化程序.