当文本字段获得焦点时,如何使底部工具栏浮在软键盘上方

Posted

技术标签:

【中文标题】当文本字段获得焦点时,如何使底部工具栏浮在软键盘上方【英文标题】:How to make the bottom toolbar float just above on the soft keyboard when the Textfield get focus 【发布时间】:2014-04-03 10:33:29 【问题描述】:

我在 UIViewController 底部添加了一个工具栏,并在工具栏上放了一个 TextField,但是当我点击 TextField 时,该文本字段被弹出式软键盘覆盖并且看不到它。

那么,当文本字段获得焦点时,如何将工具栏浮动在软键盘上方。

【问题讨论】:

在文本字段中将工具栏放在上方即可开始编辑,在结束编辑时应向下 在 UItextField 委托方法 textFiledBeginEditing 中设置工具栏的框架 【参考方案1】:

有一个名为 inputAccessoryView 的属性。当一个 textField 被点击时,你可以这样调用它:

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField 

    textField.inputAccessoryView=self.accessoryToolBar;


    return YES;


这将调用键盘顶部的工具栏。

【讨论】:

我添加了下面的代码,但是当我点击 TextField 时,工具栏和键盘都消失了。 - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField textField.inputAccessoryView=self.bottomBar;返回是; 您必须确保您的附件工具栏是通过插座链接的。否则你的 viewControler 不知道你的意思。 是的,我已将工具栏链接到通过插座查看控制器。 确保您的 viewController 中包含 UITextFieldDelegate。 这里,我创建了一个小项目:dl.dropboxusercontent.com/u/21592548/AccessoryView.zip

以上是关于当文本字段获得焦点时,如何使底部工具栏浮在软键盘上方的主要内容,如果未能解决你的问题,请参考以下文章

当文本字段或文本区域使用纯 JavaScript 获得焦点时禁用键盘快捷键

当焦点和键盘隐藏文本字段时滚动到文本字段

TextField 获得焦点时如何滚动到 SingleChildScrollView 的底部?

如何隐藏键盘助手栏

如何在里面定位我的 UIScrollView 和文本字段?

C# winform中咋实现当文本框获得焦点时,如何切换到中文输入法或英文输入法啊?