我正在尝试禁用在UITextView
中输入时找到的返回键。我希望文本没有像UITextField
中找到的页面缩进。这是我到目前为止的代码:
- (BOOL)textView:(UITextView *)aTextView shouldChangeTextInRange:(NSRange)aRange replacementText:(NSString*)aText
{
if ([aTextView.text isEqualToString:@"\r\n"]) {
return NO;
}
有什么想法吗?
答案 0 :(得分:36)
尝试像这样使用..
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
if([text isEqualToString:@"\n"])
{
[textView resignFirstResponder];
return NO;
}
return YES;
}
答案 1 :(得分:17)
没有魔术硬编码字符串的另一种解决方案是:
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText: (NSString *)text {
if( [text rangeOfCharacterFromSet:[NSCharacterSet newlineCharacterSet]].location == NSNotFound ) {
return YES;
}
return NO;
}
答案 2 :(得分:6)
在Swift 3+中添加:
guard text.rangeOfCharacter(from: CharacterSet.newlines) == nil else {
return false
}
到func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool
答案 3 :(得分:1)
我知道这是迟到的回复,但这段代码非常适合我。 这将最初禁用返回键,直到键入任何字符。
textfield.enablesReturnKeyAutomatically = YES;
答案 4 :(得分:-1)
为什么不改变UITextView
这样的返回键类型?