在UITextView中禁用返回键

我正在尝试禁用在UITextView键入时找到的返回键。 我希望文本没有像在UITextField找到的页面缩进。 这是我到目前为止的代码:

 - (BOOL)textView:(UITextView *)aTextView shouldChangeTextInRange:(NSRange)aRange replacementText:(NSString*)aText { if ([aTextView.text isEqualToString:@"\r\n"]) { return NO; } 

有任何想法吗?

尝试使用这样..

 - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text { if([text isEqualToString:@"\n"]) { [textView resignFirstResponder]; return NO; } return YES; } 

没有魔术硬编码字符串的另一种解决方案是:

 - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText: (NSString *)text { if( [text rangeOfCharacterFromSet:[NSCharacterSet newlineCharacterSet]].location == NSNotFound ) { return YES; } return NO; } 

在Swift 3+中添加:

 guard text.rangeOfCharacter(from: CharacterSet.newlines) == nil else { return false } 

func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool的顶部func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool

我知道这是迟到的回复,但这段代码非常适合我。 这将最初禁用返回键,直到键入任何字符。

 textfield.enablesReturnKeyAutomatically = YES; 

通过Interface Builder设置此属性,
在此处输入图像描述

为什么不改变像这样的UITextView返回键类型?

在此处输入图像描述

您可以使用属性进行简单控制:

  textfield.enablesReturnKeyAutomatically = NO;