我正在尝试将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)'”。
答案 0 :(得分:2)
请将let aRect
更改为var aRect
,可以更改变量。