2013-12-17 104 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創建了工具欄並將其連接到我的課程。所以,我必須以編程方式創建工具欄? –