0

UITextviewから、特定のテキストの行数を取得できます.4行以上の場合、残りを切り捨てたいので、インデックスを部分文字列に取得するにはどうすればよいですか?

4

2 に答える 2

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 に答える
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 に答える