當'完成'按下時,我想隱藏(resignFirstResponder
)UITextView
的虛擬鍵盤。在UITextView
的Theres沒有'退出結束'。在UITextField
我連接了'出口退出'與IBAction
並呼籲resignFirstResponder
方法。我如何用UITextView
來做到這一點?'完成'按下時隱藏UITextView的虛擬鍵盤
4
A
回答
2
這裏是「完成」的配件的雨燕版按鈕:
@IBOutlet weak var textView: UITextView!
// In viewDidLoad()
let toolbar = UIToolbar()
toolbar.bounds = CGRectMake(0, 0, 320, 50)
toolbar.sizeToFit()
toolbar.barStyle = UIBarStyle.Default
toolbar.items = [
UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.FlexibleSpace, target: nil, action: nil),
UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Done, target: nil, action: "handleDone:")
]
self.textView.inputAccessoryView = toolbar
// -----------------
func handleDone(sender:UIButton) {
self.textView.resignFirstResponder()
}
4
我假設通過「完成」按鈕您的意思是返回鍵。這不像你想象的那麼直觀。 This question覆蓋得很好。
3
,如果你希望能夠使用您的返回鍵 [[self view] endEditing: YES];
7
來處理這是在inputAccessoryView
添加完成按鈕到UITextView
正確的方法,你可以添加這一個動作。 inputAccessoryView
是有時出現在鍵盤上方的條形。
爲了實現inputAccessoryView
只需添加此方法(或其變體)並在viewDidLoad
中調用它。
- (void)addInputAccessoryViewForTextView:(UITextView *)textView{
//Create the toolbar for the inputAccessoryView
UIToolbar* toolbar = [[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, 320, 50)];
[toolbar sizeToFit];
toolbar.barStyle = UIBarStyleBlackTranslucent;
//Add the done button and set its target:action: to call the method returnTextView:
toolbar.items = [NSArray arrayWithObjects:[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil],
[[UIBarButtonItem alloc]initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(returnTextView:)],
nil];
//Set the inputAccessoryView
[textView setInputAccessoryView:toolbar];
}
然後按下按鈕,執行您調用的操作方法resignFirstResponder
。
- (void) returnBreakdown:(UIButton *)sender{
[self.textView resignFirstResponder];
}
這應該會導致在鍵盤上方的標準工具欄中出現工作「完成」按鈕。
3
確保您聲明支持UITextViewDelegate
協議。
@interface ...ViewController : UIViewController
`in .h file。
在.m文件,實現以下方法
-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
if([text isEqualToString:@"\n"]) {
[textView resignFirstResponder];
return NO;
}
return YES; }
相關問題
- 1. 隱藏虛擬鍵盤
- 2. S60模擬器隱藏虛擬鍵盤
- 3. 虛擬鍵盤隱藏字段/文本域/ CONTENTEDITABLE(下面隱藏鍵盤)
- 4. 在加載片段時隱藏軟鍵盤或虛擬鍵盤
- 5. 單擊按鈕時隱藏虛擬鍵盤
- 6. ipad鍵盤隱藏uitextView
- 7. UITextView鍵盤隱藏問題
- 8. 在android中隱藏虛擬鍵盤?
- 9. 隱藏虛擬鍵盤總是
- 10. 從Qt隱藏密鑰虛擬鍵盤
- 11. 如何隱藏虛擬鍵盤
- 12. Android,虛擬鍵盤隱藏了EditText
- 13. 隱藏鍵盤然後在UITextView推完成
- 14. 如何按下「完成/返回」按鈕時隱藏文本框鍵盤Xcode 4.2
- 15. 如何在不按下完成按鈕的情況下隱藏鍵盤?
- 16. 隱藏麥克風按鈕Android虛擬鍵盤
- 17. Android虛擬鍵盤KeyListener獲取虛擬鍵盤按鍵
- 18. 按下按鈕隱藏鍵盤
- 19. 按下按鈕後隱藏鍵盤
- 20. 虛擬鍵盤上「完成」按鈕的更改操作Android
- 21. 如何在按住UITextview時防止鍵盤隱藏?
- 22. 隱藏在鍵盤下的SKStoreReviewController按鈕
- 23. Cn1虛擬鍵盤ios「完成」按鈕和工具欄消失。
- 24. 鍵盤隱藏UITextView當它出現
- 25. UITextView在iphone中隱藏鍵盤
- 26. 更改iOS虛擬鍵盤「上一個」,「下一個」,「完成」按鈕的語言
- 27. 按下「向下」(隱藏鍵盤)按鈕時清除TextView焦點
- 28. 隱藏android鍵盤按下輸入
- 29. 隱藏右下角的「隱藏按鈕」的iPad鍵盤
- 30. 在Android中完成鍵盤上隱藏軟鍵盤?
我喜歡這個解決方案。在Xamarin.IOS中相當於 View.EndEditing(true); – 2015-10-15 13:56:56