基于uitextview获取子串的行数

时间:2012-05-07 09:20:37

标签: iphone ios

Frrom UITextview我能够获得给定文本的行数,如果超过4行我想截断其余的行,那么如何将索引转换为子串?

2 个答案:

答案 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来提取所需的字符串。我没有尝试这段代码但这个逻辑应该工作或至少协助你的代码。快乐的编码:)