TextView与键盘隐藏
问题描述:
我有TextView.In TextView我必须设置最大160个字符到TextView包括空间。如果我点击返回键盘应该down.I有编码。它工作后输入160字符only.So如果我点击retun,紧紧地它应该下去,它不应该在160个字符之后包括空格。即使我在点击回车后进入“你好吗?”。在文本视图中,键盘应该隐藏。TextView与键盘隐藏
我的编码是
-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
//First type for space
/*
return txtviewAsk.text.length + (text.length - range.length) <= 160;
[txtviewAsk resignFirstResponder];
*/
//Second type with correct method
NSUInteger newLength = (textView.text.length - range.length) + text.length;
if(newLength <= MAX_LENGTH)
{
//[txtview resignFirstResponder];
return YES;
}
else
{
NSUInteger emptySpace = MAX_LENGTH - (textView.text.length - range.length);
textView.text = [[[textView.text substringToIndex:range.location]
stringByAppendingString:[text substringToIndex:emptySpace]]
stringByAppendingString:[textView.text substringFromIndex:(range.location + range.length)]];
[txtviewAsk resignFirstResponder];
return NO;
}
}
答
-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
if(textView.text.length >=160)
{
[textView resignFirstResponder];
return NO;
}
if([text rangeOfCharacterFromSet:[NSCharacterSet newlineCharacterSet]].location == NSNotFound) {
return YES;
}
[textView resignFirstResponder];
return NO;
}
基本上,第一部分是检查长度并结束编辑和第二部分是用于返回键..
PS:第二部分来自这个rebito从here的答案。所以,信贷去他..
+0
谢谢你的编码。 – user3182143
答
Add return no to the below of the if condition.
if(newLength <= MAX_LENGTH)
{
if ([textView.text isEqualToString:@"\n"]) {
[textView resignFirstResponder];
return NO;
}
return YES;
}
结帐这个答案http://*.com/questions/703754/how-to-dismiss-keyboard-for-uitextview-with-return-key – Divya