无法减去CGFloats

时间:2014-12-27 17:07:26

标签: ios swift geometry cgrect cgfloat

我正在尝试将Apple生成的Keyboard Management文档中的代码合并到我的应用中。到目前为止,我已经能够将Objective-C解析为Swift,但是有一行我遇到了问题。这是在上下文中(最后一行是发生错误的地方):

func keyboardWasShown(aNotification: NSNotification) {
    let info = aNotification.userInfo as NSDictionary!
    let kbSize = (info[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.CGRectValue()

    let contentInsets = UIEdgeInsetsMake(0.0, 0.0, kbSize!.height, 0.0)
    scrollView.contentInset = contentInsets
    scrollView.scrollIndicatorInsets = contentInsets

    let aRect = view.frame
    aRect.size.height -= kbSize!.height //This line gives me trouble.
}

在那一行,我收到一条错误消息,上面写着“无法调用' - =',其参数列表类型为'(CGFloat,CGFloat)'”。有什么工作可以解决这个问题,还是有什么我做错了?


注意:我已经尝试将它们都转换为浮点数,但是得到错误“无法使用类型'($ T4,$ T9)'”的参数列表调用'init'。当我在不同变量中转换as浮点数然后减去它们时,我得到错误“无法调用' - =',其参数列表类型为'(Float,Float)'”。

1 个答案:

答案 0 :(得分:2)

请将let aRect更改为var aRect,可以更改变量。