UITextView不从UIControl继承,因此没有addTarget:forControlEvent:方法可能.当UIControlEventEditingDidEndOnExit发生时,我曾经注册一个动作方法来辞职第一响应者.
我怎么能用UITextView做到这一点?是否有一些代理+协议我必须实现,所以我可以让键盘消失?
是的,UITextView您应该实施委托协议.委托协议自然命名UITextViewDelegate.您应该通过浏览文档来注意到存在模式; 对于任何Foo具有委托协议的类,协议始终被命名FooDelegate,没有例外.
现在你可以像James指出的那样使用UITextViews委托拦截文本更改并关闭键盘.但是,我不鼓励你这样做,因为它违反了人机界面指南.A UITextView用于编辑具有多行文本的文本,截取输入键表示不建议使用elsa而不是换行符.
如果您希望文本字段只有一行文本,或者被输入键删除,那么您应该使用a UITextField,它也有一个委托协议UITextFieldDelegate.该协议有一个适合您想要的方法:
-(BOOL)textFieldShouldReturn:(UITextField*)textField {
[textField resignFirstResponder];
return NO;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3514 次 |
| 最近记录: |