移动键盘时的黑色区域

时间:2016-11-12 11:27:21

标签: ios swift xcode

我在视图的下半部分有一个文本字段,所以我使用下面的函数移动我的视图。 但实际上一切看起来都像我想要的除了键盘顶部的黑色区域。如何处理它?任何帮助表示赞赏。 here's the screen

override func viewDidLoad() {

        NotificationCenter.default.addObserver(self, selector: #selector(ViewControllerForTextfield.keyboardWillShow(_:)), name:NSNotification.Name.UIKeyboardWillShow, object: nil);
        NotificationCenter.default.addObserver(self, selector: #selector(ViewControllerForTextfield.keyboardWillHide(_:)), name:NSNotification.Name.UIKeyboardWillHide, object: nil);
        textField.delegate = self
        super.viewDidLoad()
    }


func keyboardWillShow(_ sender: Notification) {
    if let keyboardSize = (sender.userInfo?[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.cgRectValue {
        if self.view.frame.origin.y == 0{
            self.view.frame.origin.y -= keyboardSize.height + 100
        }
    }

}

func keyboardWillHide(_ sender: Notification) {
    if let keyboardSize = (sender.userInfo?[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.cgRectValue {
        if self.view.frame.origin.y != 0{
            self.view.frame.origin.y += keyboardSize.height
        }
    }
}

}

1 个答案:

答案 0 :(得分:0)

我认为310太过分了。从定制键盘开始,确定键盘的高度并不容易。但是,this post解释了如何获得键盘的高度。

编辑: 也许你还想用文本字段到屏幕底部的距离差来代替?