我有一个基于标签栏控制器的应用程序,我使用IQKeyboardManager
来处理类似表单的内容。
步骤1:标签栏控制器底部UITextView
位于UIView
内。检查图像1。
步骤2:当我点击UITextView
时,会出现键盘,但由于标签栏而出现空白区域。我尝试删除IQKeyboardManager
但仍然会发生,因此确认它不是IQKeyboardManager
的问题。由于标签栏控制器,这是一个问题。
如何删除间距?
答案 0 :(得分:2)
你是对的。空白区域由标签栏引起。通过在接收键盘时添加额外空格来覆盖视图中的y位置而不是在viewDidLoad或其他任何位置,因为它将隐藏在标签栏后面。然后,您需要通过在用户使用完键盘时删除该添加的值将其设置恢复正常。例如。
// Declaration
var tabBarHeight : CGFloat = 0.0
// viewDidLoad
tabBarHeight = tabBarController?.tabBar.frame.size.height
// When the user begins using the keyboard move the view containing the textfield
yourView.frame.origin.y = (tabBarController?.tabBar.frame.origin.y + tabBarHeight )
// When the user finishes using the keyboard
yourView.frame.origin.y = (tabBarController?.tabBar.frame.origin.y - tabBarHeight )
如果您有约束,则需要调整它们。这里的答案很好:
https://stackoverflow.com/a/27870216/4008175
此答案将帮助您在键盘被激活和停用时进行聆听:
祝你好运!