我的应用布局页面一直存在问题,我想添加一些文本字段,虽然这样做是可行的,但是其中一些字段不足到屏幕页面,当我输入前两个字段时字段没问题,但是当我进入第三个,第四个和最后一个文本字段时,键盘弹出窗口将其覆盖,并且用户无法看到他们正在键入的内容,如图所示。
有没有一种方法可以使用户单击特定的文本字段(尤其是后三个字段)时,仍然可以看到自己在键入什么内容,而不会如图所示阻止它。
非常感谢您的帮助:)
答案 0 :(得分:1)
您可以使用以下库,在键盘显示时自动调整屏幕的高度。
didFinishLaunchingWithOptions
中添加了以下代码
IQKeyboardManager.shared.enable = true 注意:-如果您使用IQ键盘工具栏将始终出现在键盘上方。
您应该使用键盘通知来调整高度限制。
NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillShow), name: NSNotification.Name.UIKeyboardWillShow, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillHide), name: NSNotification.Name.UIKeyboardWillHide, object: nil)
// MARK:-键盘通知
@objc func keyboardWillShow(_ notification:Notification) {
if let height = (notification.userInfo![UIKeyboardFrameEndUserInfoKey] as? NSValue)?.cgRectValue.height {
selectedImageViewToBottom.constant = height
}
}
@objc func keyboardWillHide(_ notification:Notification) {
selectedImageViewToBottom.constant = 0
}
答案 1 :(得分:0)
使用NotificationCenter跟踪键盘的出现和消失。
您可以在Move textfield when keyboard appears swift上找到它。
您还可以使用https://github.com/hackiftekhar/IQKeyboardManager IQKeyboard管理器库,它们的功能非常好。