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 上的键盘上方显示工具栏 [关闭]