iOS:键盘上方的工具栏

Posted

技术标签:

【中文标题】iOS:键盘上方的工具栏【英文标题】:iOS: Toolbar above keyboard 【发布时间】:2013-12-17 01:39:24 【问题描述】:

我有一个 UIToolBar 和一个 TextBox。当我选择文本框时,键盘出现,工具栏消失(因为键盘在工具栏的前面)。 我想做facebook的状态更新,当你选择文本框时,工具栏在键盘上方:

我该怎么做?

【问题讨论】:

【参考方案1】:

文本字段具有称为inputAccessoryView 的属性,它允许您将任何视图放在键盘顶部。看来你的情况很简单,不然的话,如果你不能使用附件视图,你可以看看几十个实现here。

【讨论】:

要使用 inputAccessoryView 我必须动态创建工具栏? 好吧,你可以在 xib 中构建你的工具栏,然后在代码中连接它,因为我认为 IB 没有附件视图的出口。 我连接了工具栏,然后这样做了: - (void)textViewDidBeginEditing:(UITextView *)textView [textView setInputAccessoryView:_toolBar]; 但仍然无法正常工作 确保你的 _toolBar 不是 nil,你甚至可以在 viewDidLoad 中设置它。看看ankushasthana.blogspot.com/2013/04/… 以获得视觉线索【参考方案2】:

首先创建一个UIToolbar,其中包含您想要的按钮等...

那么你需要做的就是打开

 - (void)textViewDidBeginEditing:(UITextView *)textView

    toolBar *tb = [[myToolbar alloc] init]
    [textView setInputAccessoryView:tb];

if Not try this using IB Maybe(未测试)

myToolbarClass* myToolbar = [[[NSBundle mainBundle] 
loadNibNamed:@"toolbarNib" owner:self options:nil] objectAtIndex:0]
[textView setInputAccessoryView:myToolbar];

【讨论】:

toolBar *tb = [[myToolbar alloc] init] 不明白。我试过: (void)textViewDidBeginEditing:(UITextView *)textView [textView setInputAccessoryView:_toolBar]; 但仍然无法正常工作 对不起是一个非常糟糕的解释。 myToolbar 是子类化 UIToolbar 的一个示例。在子类中构建您的工具栏,然后使用上面的一个实例。 Dmitry 也是正确的,您可以在 viewDidLoad 中创建 UIToolbar;将 UIBarButtonItems 添加到它,然后只需 setInputAccessoryView 到工具栏。 对不起,Tomskiis,我真的是 ios 新手。我已经使用 IB 创建了工具栏并将其连接到我的班级。那么,我必须以编程方式创建工具栏吗? 如果你的 IB 连接到一个类,你应该能够像上面那样创建它的一个实例。我并没有真正使用 nib 文件来处理这样的事情,但如果它不起作用,也许你需要在 UIToolbar 类中调用 awakeFromNib 方法?【参考方案3】:

这是一个简单而客观的教程。

http://www.edumobile.org/iphone/how-to-make-an-app-2/toolbar-animation-along-with-the-keyboard/

【讨论】:

以上是关于iOS:键盘上方的工具栏的主要内容,如果未能解决你的问题,请参考以下文章

在工具栏上方显示键盘?

工具栏不会显示在键盘上方

如何在 UIWebView 上的键盘上方显示工具栏 [关闭]

如何使用 React Native 制作默认键盘上方的工具栏?

隐藏iPhone键盘上方的工具栏,PhoneGap

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