0

从 UITextview 我可以获取给定文本的行数,如果超过 4 行我想截断其余的,那么如何获取子字符串的索引?

4

2 回答 2

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;
    }
于 2012-05-07T11:05:44.790 回答
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 来提取所需的字符串。我没有尝试这段代码,但这个逻辑应该可以工作,或者至少可以帮助你编写代码。快乐编码:)

于 2012-05-07T11:12:55.880 回答