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