このエラーが発生し続けます:
サイズのあいまいな使用
私はいたるところを見て、いくつかのトリックを試しましたが、うまくいかず、理由もわかりません。
import UIKit
class ScrollView: UIScrollView {
var textField: UITextField!
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)!
self.backgroundColor = UIColor(white: 1, alpha: 0)
}
func registerForKeyboardNotifications() {
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(self.keyboardWasShown), name: UIKeyboardDidShowNotification, object: nil)
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(self.keyboardWillBeHidden), name: UIKeyboardDidShowNotification, object: nil)
}
func keyboardWasShown(notification: NSNotification) {
let info: NSDictionary = notification.userInfo!
//HERE=> let size = info.objectForKey(UIKeyboardFrameBeginUserInfoKey)?.size /* THIS IS THE LINE OF THE ERROR */
let insets = UIEdgeInsetsMake(0.0, 0.0, size!.height, 0.0)
self.contentInset = insets
self.scrollIndicatorInsets = insets
var rect = self.frame
rect.size.height -= size!.height
}
func keyboardWillBeHidden(notification: NSNotification) {
let insets = UIEdgeInsetsZero
self.contentInset = insets
self.scrollIndicatorInsets = insets
}
func textFieldDidBeginEditing(textField: UITextField) {
self.textField = textField
}
func textFieldDidEndEditing(textField: UITextField) {
self.textField = nil
}
/**
* Called when 'return' key pressed. return NO to ignore.
*/
func textFieldShouldReturn(textField: UITextField) -> Bool {
textField.resignFirstResponder()
return true
}
/**
* Called when the user click on the view (outside the UITextField).
*/
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
self.endEditing(true)
}
}
ここにエラーがあります。Swift 2.3 と Xcode 8 を使用しています。関数を変更しようとしましたが、さらに多くのエラーが発生しました。