在键盘上查看响应显示和隐藏Ios Swift 4
这是我的看法 当我在文本视图中单击时,键盘位于顶部。所以我添加了一个类,在这个类中,我添加了这些函数在键盘上查看响应显示和隐藏Ios Swift 4,ios,swift,xcode,uikeyboard,Ios,Swift,Xcode,Uikeyboard,这是我的看法 当我在文本视图中单击时,键盘位于顶部。所以我添加了一个类,在这个类中,我添加了这些函数 var objectObserver:UIViewController? func setKeyboardResponsiviness(observer:UIViewController){ objectObserver = observer NotificationCenter.default.addObserver(self
var objectObserver:UIViewController?
func setKeyboardResponsiviness(observer:UIViewController){
objectObserver = observer
NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardWillShow), name: UIResponder.keyboardWillShowNotification, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardWillHide), name: UIResponder.keyboardWillHideNotification, object: nil)
}
@objc func keyboardWillShow(notification: NSNotification) {
if let keyboardSize = (notification.userInfo?[UIResponder.keyboardFrameBeginUserInfoKey] as? NSValue)?.cgRectValue {
if objectObserver!.view.frame.origin.y == 0 {
objectObserver!.view.frame.origin.y -= keyboardSize.height
}
}
}
@objc func keyboardWillHide(notification: NSNotification) {
if objectObserver!.view.frame.origin.y != 0 {
objectObserver!.view.frame.origin.y = 0
}
}
添加代码后,整个屏幕向上滑动,这是预期的目标,但作为副作用,文本视图的一半不在屏幕上。你知道我该怎么解决这个问题吗 简单的解决方案是使用IQKeyboardManagerSwift
pod 'IQKeyboardManagerSwift' // add this in your pod file.
在didFinishLaunchingWithOptions中添加以下代码
IQKeyboardManager.shared.enable = true
我希望这会有所帮助。您可以使用IQKeyboardManager pod Library轻松完成这项工作。有关更多详细信息,请参阅此堆栈答案。感谢将man post作为答案,以便我可以批准它