我有一个基于标签栏控制器的应用程序,我正在使用IQKeyboardManager
它来处理类似表单的东西。
第 1 步:标签栏控制器,底部为 a UITextView
,位于 aUIView
中。检查图像 1。
步骤2:当我点击时UITextView
,键盘出现,但由于标签栏出现空白。我试图删除IQKeyboardManager
,但它仍然发生,所以确认这不是IQKeyboardManager
. 由于标签栏控制器,这是一个问题。
如何删除该间距?
我有一个基于标签栏控制器的应用程序,我正在使用IQKeyboardManager
它来处理类似表单的东西。
第 1 步:标签栏控制器,底部为 a UITextView
,位于 aUIView
中。检查图像 1。
步骤2:当我点击时UITextView
,键盘出现,但由于标签栏出现空白。我试图删除IQKeyboardManager
,但它仍然发生,所以确认这不是IQKeyboardManager
. 由于标签栏控制器,这是一个问题。
如何删除该间距?
你是对的。空白是由标签栏引起的。覆盖视图中的 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
此答案将帮助您收听键盘何时被激活和停用:
https://stackoverflow.com/a/27087733/4008175
祝你好运!