在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;