回答
希望這有助於:)
UIToolbar* keyboardToolbar = [[UIToolbar alloc] init];
[keyboardToolbar sizeToFit];
UIBarButtonItem *flexBarButton = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace
target:nil action:nil];
UIBarButtonItem *doneBarButton = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemDone
target:self action:@selector(yourTextViewDoneButtonPressed)];
keyboardToolbar.items = @[flexBarButton, doneBarButton];
self.yourTextView.inputAccessoryView = keyboardToolbar;
,然後添加一些圖片說明yourTextViewDoneButtonPressed方法
-(void)yourTextViewDoneButtonPressed
{
[self.yourTextView resignFirstResponder];
}
斯威夫特3:
func setDoneOnKeyboard() {
let keyboardToolbar = UIToolbar()
keyboardToolbar.sizeToFit()
let flexBarButton = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, action: nil)
let doneBarButton = UIBarButtonItem(barButtonSystemItem: .done, target: self, action: #selector(InsertStatusVC.dismissKeyboard))
keyboardToolbar.items = [flexBarButton, doneBarButton]
self.fullNameTextField.inputAccessoryView = keyboardToolbar
}
@objc func dismissKeyboard() {
view.endEditing(true)
}
它可以利用故事板來完成:
- 添加到的UITextField視圖的UIViewController。
- 在UIViewController的第一級添加UIToolbar
- 將UIBarButtonItem添加到UIToolbar。
- 使用IBOutlet將UItoolbar連接到代碼。
- 使用IBAction將UIBarButtonItem連接到代碼(如didClick)。
- 使UITextField將委託給UIViewController。
- 在didClick功能結束編輯(view.endEditing(真))
- 在委託功能textFieldShouldBeginEditing應該是:textField.inputAccessoryView =工具欄並返回真。
這是偉大的,但我想同樣的UITextView?什麼需要有所不同。我編輯了我以爲但得到的東西無法分配UIButtonBarItem類型的值!鍵入UIView – adamprocter
@adamprocter您應該將工具欄分配給textView.inputAccessoryView,而不是UIButtonBarItem。 – Ramis
從雷米斯答案,允許使用故事板創建鍵盤附件視圖是一個偉大的戰略。畢竟是2017年! (對不起,但我沒有足夠的積分來支持你。)
讓我加一點答案(保持在SO規則中)。我有一個與多個textFields的視圖。實現每個的雷米斯步驟後我附accessoryView的所有文本框的這樣:
-(void)textFieldDidBeginEditing:(UITextField *)textField
{
_activeTextField = textField;
[_activeTextField setInputAccessoryView:_iboKeyboardTools];
}
與實施這一切的代碼相比,如此簡單!只需在Storyboard中構建配件視圖,然後重複附加即可!
將UIToolBar添加爲將具有UIBarButtonItem作爲完成按鈕的自定義視圖。
這是更安全和更乾淨的方式來添加完成按鈕到任何類型的鍵盤。創建UIToolBar添加完成按鈕,並設置任何UITextField或UITextView的inputAccessoryView。 ]; }
SWIFT 3
var ViewForDoneButtonOnKeyboard = UIToolbar()
ViewForDoneButtonOnKeyboard.sizeToFit()
var btnDoneOnKeyboard = UIBarButtonItem(title: "Done", style: .bordered, target: self, action: #selector(self.doneBtnFromKeyboardClicked))
ViewForDoneButtonOnKeyboard.items = [btnDoneOnKeyboard]
myTextField.inputAccessoryView = ViewForDoneButtonOnKeyboard
功能
@IBAction func doneBtnfromKeyboardClicked (sender: Any) {
print("Done Button Clicked.")
//Hide Keyboard by endEditing or Anything you want.
self.view.endEditing(true)
}
- 1. IOS如何隱藏鍵盤頂部的頂部欄(帶完成按鈕)?
- 2. 將完成按鈕添加到iPhone上的數字鍵盤鍵盤上
- 3. 如何向iOS鍵盤添加'完成'按鈕[Webview/Phonegap/Cordova]
- 4. 如何在ios上的鍵盤頂部添加一行?
- 5. 鍵盤上'完成'按鈕的退出鍵盤
- 6. iOS Xcode鍵盤完成按鈕功能
- 7. 如何將完成的按鈕添加到鍵盤
- 8. 在鍵盤頂部添加一個可點擊的「完成」UIButton
- 9. 在數字板上添加完成按鈕鍵盤
- 10. 想要在鍵盤控件中添加完成按鈕以隱藏ios中的鍵盤
- 11. 如何添加完成按鈕以關閉數字鍵盤
- 12. 如何處理鍵盤按鈕名稱是「完成」在ios
- 13. 關閉數字鍵盤式鍵盤而不添加完成鍵
- 14. 如何在鍵盤頂部使用Next,Previous和Done按鈕獲取鍵盤
- 15. Windows Phone 8鍵盤與Android鍵盤 - 下一步/完成按鈕
- 16. 添加的KeyEvent的NumLock鍵鍵盤上的按鍵在JFrame中
- 17. 如何使用react-native在數字鍵盤上添加'完成'按鈕
- 18. 如何擺脫iPhone鍵盤上的next-prv完成按鈕?
- 19. 如何獲取Android鍵盤上的「完成」按鈕?
- 20. 在新鍵盤加載時從數字鍵盤刪除完成按鈕
- 21. iOS鍵盤擴展如何在鍵盤下添加子視圖
- 22. 如何讓完成按鈕出現在軟鍵盤上?
- 23. 添加自定義按鈕到數字鍵盤的鍵盤ios 6
- 24. 在iOS8中更改鍵盤上已完成按鈕的文本
- 25. 在數據綁定中的鍵盤上使用完成按鈕
- 26. 在Xamarin.Forms中刪除鍵盤上的完成按鈕
- 27. iPhone鍵盤,完成按鈕和resignFirstResponder
- 28. 如何在iPhone的默認鍵盤上添加一個按鈕?
- 29. PhoneGap IOS鍵盤完成關鍵事件
- 30. 使用UI工具欄將'完成'按鈕添加到鍵盤
您可以使用UIToolbar! – Jaimish
創建一個自定義視圖,然後在你的'keyboardOnScreen'通知方法中顯示它...它帶有鍵盤高度太所以你知道在哪裏放置吧 – Tj3n
如何使用工具欄 – Techiee