2013-12-17 103 views
0

我有一个UIToolBar,和一个TextBox。当我选择文本框时,键盘出现并且工具栏消失(因为键盘位于工具栏的前面)。 我想做的事情,如Facebook的状态更新,当您选择文本框,工具栏是键盘上方:的iOS:工具栏上面的键盘

Status Facebook

我怎样才能做到这一点?

回答

7

文本字段具有这种性质称为inputAccessoryView,允许你把任何视图在键盘的顶部。它看起来像你的情况是非常简单的,否则,如果您不能使用附件视图中,可以看几十实现here的。

+0

要使用inputAccessoryView我必须动态地创建工具栏? –

+0

那么,你可以在xib中构建你的工具栏,然后用代码连接它,因为我不认为IB有配件视图的插座。 –

+0

我连接工具栏,以及这样做: - (无效)textViewDidBeginEditing:(UITextView的*)的TextView { [TextView的setInputAccessoryView:_toolBar]; },但仍然没有工作 –

1

首先创建一个UIToolbar有你想要的按钮等等

然后,所有你需要做的是

- (void)textViewDidBeginEditing:(UITextView *)textView 
{ 
    toolBar *tb = [[myToolbar alloc] init] 
    [textView setInputAccessoryView:tb]; 
} 

如果不尝试这种使用IB可能(未测试)

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

toolBar * tb = [[myToolbar alloc] init] 不理解它。我尝试过:(void)textViewDidBeginEditing:(UITextView *)textView {[textView setInputAccessoryView:_toolBar]; }但仍然无法正常工作 –

+1

抱歉是一个相当不好的解释。 myToolbar是UIToolbar子类的一个例子。在子类中构建工具栏,然后使用上面的一个实例。德米特里也是正确的,你可以在viewDidLoad中创建你的UIToolbar;将UIBarButtonItems添加到它,然后将setInputAccessoryView添加到工具栏。 – Tomskiis

+0

对不起,托姆斯基斯,我真的是iOS上的新手。我已经使用IB创建了工具栏并将其连接到我的课程。所以,我必须以编程方式创建工具栏? –