Iphone UITextView在';完成';
我已经在网上搜索了大约一个小时了,找不到任何代码来帮助我 我有一个Iphone UITextView在';完成';,iphone,objective-c,interface-builder,uitextview,uikeyboard,Iphone,Objective C,Interface Builder,Uitextview,Uikeyboard,我已经在网上搜索了大约一个小时了,找不到任何代码来帮助我 我有一个UITextView,当用户按下键盘上的“完成”按钮时,我需要退出第一响应者 我在互联网上看到过这样的代码: -(BOOL) textFieldShouldReturn:(UITextField *)textField { [textField resignFirstResponder]; return NO; } 但这对UITextView不起作用。 简言之, 如何判断用户何时按下键盘上的“完成”按钮?实现shouldCh
UITextView
,当用户按下键盘上的“完成”按钮时,我需要退出第一响应者
我在互联网上看到过这样的代码:
-(BOOL) textFieldShouldReturn:(UITextField *)textField {
[textField resignFirstResponder];
return NO;
}
但这对UITextView
不起作用。
简言之,
如何判断用户何时按下键盘上的“完成”按钮?实现
shouldChangeTextInRange:
委派方法
使用下面的方法,解决方案仅适用于@“\n”(新行字符)
//在*.h文件中确保添加
@接口v1ViewController:UIViewController
-(无效)viewDidLoad
{
[超级视图下载];
//加载视图后,通常从nib执行任何其他设置。
myTextField.delegate=self;
}
-(BOOL)textView:(UITextView*)textView应更改textinrange:(nsrrange)范围
替换文本:(NSString*)文本
{
如果([文本IsequalString:@“\n”]){
[textView辞职第一响应者];
//返回FALSE,以便不添加最后的'\n'字符
返回否;
}
//对于任何其他字符,返回TRUE,以便将文本添加到视图中
返回YES;
}
您可以使用委托方法
- (void)textViewDidEndEditing:(UITextView *)textView {
[textView resignFirstResponder];
}
您必须将控制器设置为TextView的代理。
有关更多方法,您可以在此处查看:我已经设置好了。我如何检测何时按下该按钮。设置textfield delegate,如
myTextField.delegate=self
并在text字段shouldReturn
方法中返回YES
@贾利亚,请阅读这篇文章,它是一个文本视图,而不是一篇文本FIELD@Jhaliya我看到你更新了你的帖子,在obj-c中使用“是”和“否”而不是“真”和“假”不是更好吗?@Richard J.Ross III:更新的答案。不起作用,我的应用程序中没有发生任何变化。我已经设置了我的代理,并且按照我想要的方式设置了键盘,但是从未调用过该代码。textviewdendediting:
在编辑完成时调用,换句话说,当textView已经退出第一响应者时,所以[textView退出第一响应者]代码>里面不会有任何效果。
- (void)textViewDidEndEditing:(UITextView *)textView {
[textView resignFirstResponder];
}