当'完成'按下时,我想隐藏(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. 虚拟键盘隐藏字段/文本域/ CONTENTEDITABLE(下面隐藏键盘)
- 2. 单击按钮时隐藏虚拟键盘
- 3. ipad键盘隐藏uitextView
- 4. 在android中隐藏虚拟键盘?
- 5. 从Qt隐藏密钥虚拟键盘
- 6. 如何隐藏虚拟键盘
- 7. 隐藏虚拟键盘总是
- 8. 隐藏键盘然后在UITextView推完成
- 9. 如何在不按下完成按钮的情况下隐藏键盘?
- 10. Android虚拟键盘KeyListener获取虚拟键盘按键
- 11. 按下按钮隐藏键盘
- 12. Cn1虚拟键盘ios“完成”按钮和工具栏消失。
- 13. 更改iOS虚拟键盘“上一个”,“下一个”,“完成”按钮的语言
- 14. 隐藏android键盘按下输入
- 15. 在Android中完成键盘上隐藏软键盘?
- 16. 虚拟键盘
- 17. IPad键盘“隐藏按钮”
- 18. jQuery Mobile的:隐藏虚拟键盘关闭弹出
- 19. 虚拟键盘隐藏屏幕的数据元素
- 20. WPF虚拟键盘隐藏我的控件
- 21. 在android中隐藏虚拟键盘并使用我自己的
- 22. 隐藏全屏j2me应用程序的虚拟键盘
- 23. 无法隐藏SearchView的虚拟键盘iconfiedby默认(false)
- 24. 在UITextField中按下清除按钮时隐藏键盘
- 25. “隐藏键盘按钮”的键码
- 26. 按键模拟键盘按下“Shift”键
- 27. 当表情符号键盘显示时调整键盘大小或隐藏虚拟键盘
- 28. 当完成点击时,软键盘未隐藏AutocompleteTextView
- 29. 不要隐藏虚拟键盘和jquery点击
- 30. 虚拟键盘隐藏编辑文本,从片段设置
我喜欢这个解决方案。在Xamarin.IOS中相当于 View.EndEditing(true); – 2015-10-15 13:56:56