我有一个基于标签栏 Controller 的应用程序,我正在使用 IQKeyboardManager 来处理类似表单的内容。
第 1 步:在 UIView 中带有底部 UITextView 的标签栏 Controller 。检查图像 1。
第 2 步:当我点击 UITextView 时,出现了键盘,但由于标签栏出现了空白区域。我尝试删除IQKeyboardManager ,但还是出现,所以确认不是IQKeyboardManager 的问题。这是标签栏 Controller 的问题。
如何去除那个间距?
Best Answer-推荐答案 strong>
你是对的。空白是由标签栏引起的。通过添加额外的空间来覆盖 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/
|