0

Apple が作成したキーボード管理ドキュメントのコードをアプリに取り込もうとしています。これまでのところ、Objective-C を Swift に解析できましたが、問題が発生している行が 1 つあります。ここにコンテキストがあります(最後の行はエラーが発生した場所です):

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)' の引数リストで '-=' を呼び出すことはできません」というエラー メッセージが表示されます。この問題を解決するための回避策はありますか、それとも私が間違っていることはありますか?


注意: 両方を float にキャストしようとしましたが、「型 '($T4, $T9)' の引数リストで 'init' を呼び出せません」というエラーが表示されます。さまざまな変数で float としてキャストしてからそれらを減算すると、「タイプ '(Float, Float)' の引数リストで '-=' を呼び出すことはできません」というエラーが表示されます。

4

1 に答える 1

2

let aRectに変更してくださいvar aRect。変数を変更できます。

于 2014-12-27T17:13:53.963 に答える