Frrom UITextview我能够获得给定文本的行数,如果超过4行我想截断其余的行,那么如何将索引转换为子串?
答案 0 :(得分:1)
它将限制用户在UITextview中输入4行以上
- (BOOL)textView:(UITextView *)aTextView shouldChangeTextInRange:(NSRange)aRange replacementText:(NSString*)aText
{
if (textView.contentSize.height/textView.font.lineHeight>4) {
return NO;
}
else
return YES;
}
答案 1 :(得分:1)
NSMutableString *str = [[NSMutableString alloc] initWithString:textView.text];
static int numberOfLines = 0;
int nOC = 1;
while (nOC < [textView.text count] && numberOfLines < 4) {
if ([[str substringWithRange:NSMakeRange(nOC,1)] isEqualToString:@"\n"]; ) {
numberOfLines++;
}
nOC++;
}
NSString *finalString = [str substringWithRange:NSMakeRange(1,nOC)];
我希望这对你有用。我计算了直到第4个“\ n”的字符数,并使用substringWithRange来提取所需的字符串。我没有尝试这段代码但这个逻辑应该工作或至少协助你的代码。快乐的编码:)