Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone UITextView在';完成';_Iphone_Objective C_Interface Builder_Uitextview_Uikeyboard - Fatal编程技术网

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];
}