Ios 如何获取键盘大小而不出错?

Ios 如何获取键盘大小而不出错?,ios,swift,Ios,Swift,我的屏幕底部有一个文本视图,当用户开始编辑文本视图时,我想将其向上推。我知道如何将视图向上推,但由于屏幕大小不同,显示并不总是相同的。我想得到键盘的高度,这样当用户编辑时,文本视图就位于键盘上方。我在下面有一段代码,但当我添加以下3行代码时,应用程序无法生成,并给我一个错误。如果没有这段代码,应用程序运行得非常完美。我得到的错误是“swift编译器错误:预期声明”。这些线进入我的键盘将显示功能 if let userInfo = sender.userInfo { if

我的屏幕底部有一个文本视图,当用户开始编辑文本视图时,我想将其向上推。我知道如何将视图向上推,但由于屏幕大小不同,显示并不总是相同的。我想得到键盘的高度,这样当用户编辑时,文本视图就位于键盘上方。我在下面有一段代码,但当我添加以下3行代码时,应用程序无法生成,并给我一个错误。如果没有这段代码,应用程序运行得非常完美。我得到的错误是“swift编译器错误:预期声明”。这些线进入我的键盘将显示功能

    if let userInfo = sender.userInfo {
        if let keyboardSize = (userInfo[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.CGRectValue() {
            keyboardHeight = keyboardSize.height
        }
完整的代码如下所示

override func viewDidLoad() {
    super.viewDidLoad()

    NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillShow:"), name:UIKeyboardWillShowNotification, object: nil);
    NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillHide:"), name:UIKeyboardWillHideNotification, object: nil);

}

var isShown: Bool = false
var willHide: Bool = false
var keyboardHeight: CGFloat = 0

func keyboardWillShow(sender: NSNotification) {

    isShown = true

//The following 3 lines seem to be the problem. Somehow the code stops working when I add them.
    if let userInfo = sender.userInfo {
        if let keyboardSize = (userInfo[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.CGRectValue() {
            keyboardHeight = keyboardSize.height
        }

}

func keyboardWillHide(sender: NSNotification) {

    willHide = true

}

func textViewDidBeginEditing(textView: UITextView) {
    if isShown == true {

        self.view.frame.origin.y -= keyboardHeight

    }
}

func textViewDidEndEditing(textView: UITextView) {
    if willHide == true {

        self.view.frame.origin.y += keyboardHeight

    }
}

你能检查一下用UIKeyboardFrameEndUserInfoKey替换UIKeyboardFrameBeginUserInfoKey吗?如果让userInfo=sender.userInfo{没有右括号,。我不愿意承认这一点,因为我看起来很愚蠢,但@MartinR是对的。。。我只是忘记了user info常量末尾的花括号。谢谢你们两位的帮助!:)