当用户输入 29 个字符时,将 UITextView 插入符号移动到新行?
Posted
技术标签:
【中文标题】当用户输入 29 个字符时,将 UITextView 插入符号移动到新行?【英文标题】:Move UITextView caret to new line when user enter 29 character? 【发布时间】:2015-10-14 07:42:52 【问题描述】:我只想要 UITextView 中的 3 行。每行最多29个字符
我做的是
static const NSUInteger MAX_NUMBER_OF_LINES_ALLOWED = 3;
NSMutableString *t = [NSMutableString stringWithString: self.addressTextView.text];
[t replaceCharactersInRange: range withString: text];
NSUInteger numberOfLines = 0;
for (NSUInteger i = 0; i < t.length; i++)
if ([[NSCharacterSet newlineCharacterSet] characterIsMember: [t characterAtIndex: i]])
numberOfLines++;
return (numberOfLines < MAX_NUMBER_OF_LINES_ALLOWED);
在下面的委托方法中
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
请告诉我如何将每行的长度限制为最多 29 个字符。
也就是说,如果用户在第一行输入 29 个字符,然后将他带到换行符。
提前致谢。
【问题讨论】:
看到这个链接可能对你有帮助***.com/questions/27475670/… 【参考方案1】:如果我没听错的话。您需要在 shouldChangeTextInRange: 方法中实现接下来的几行。
if (range. location%29==0)
//add new line
希望对你有帮助!
【讨论】:
以上是关于当用户输入 29 个字符时,将 UITextView 插入符号移动到新行?的主要内容,如果未能解决你的问题,请参考以下文章
当输入 XML 和转换 XSL 是字符串时,如何使用 XslCompiledTransform。如何将转换结果作为字符串获取?