OStack程序员社区-中国程序员成长平台

标题: ios - iOS 中键盘和 UIView 之间的空白区域 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 01:30
标题: ios - iOS 中键盘和 UIView 之间的空白区域

我有一个基于标签栏 Controller 的应用程序,我正在使用 IQKeyboardManager 来处理类似表单的内容。

screenshot of blank space in IQKeyboardManager

第 1 步:在 UIView 中带有底部 UITextView 的标签栏 Controller 。检查图像 1。

第 2 步:当我点击 UITextView 时,出现了键盘,但由于标签栏出现了空白区域。我尝试删除IQKeyboardManager,但还是出现,所以确认不是IQKeyboardManager的问题。这是标签栏 Controller 的问题。

如何去除那个间距?



Best Answer-推荐答案


你是对的。空白是由标签栏引起的。通过添加额外的空间来覆盖 View 中的 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

祝你好运!

关于ios - iOS 中键盘和 UIView 之间的空白区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44174160/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4