1

UITextViewユーザーが1番目のテキストビューにテキストを入力し、2番目のテキストビューに異なるテキストを表示できるようにするものが2つあります。

ユーザーは1番目のテキストビューで次の行を入力できますが、2番目のテキストビューで空の行を生成したくありません。最初のテキストビューに空の行があるかどうかを検出して、それらの行を削除するにはどうすればよいですか?

ありがとうございました。

文字入力カウントエラーの結果:

-(void)textViewDidChange:(UITextView *)textView{

if ([inputTextSection.text rangeOfString:@"\n\n"].location == NSNotFound) return;
NSString *resultStr = [inputTextSection.text stringByReplacingOccurrencesOfString:@"\n\n" withString:@"\n"];
inputTextSection.text = resultStr;


 int maxChars = 70; //maximum characters
 int charsLeft = maxChars - [inputTextSection.text length];

 if(charsLeft == 0) {
    UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"No more characters"
                                                     message:[NSString stringWithFormat:@"You have reached the character limit of %d.",maxChars]
                                                    delegate:nil
                                           cancelButtonTitle:@"OK"
                                           otherButtonTitles:nil];
    [alert show];
    [alert release];
}

liveCountTextView.text = [NSString stringWithFormat:@"%d/70",charsLeft];}
4

1 に答える 1

6
  1. delegate最初のを設定する必要がありUITextViewます。
  2. テキスト ビュー デリゲートで、上記のメソッドを実装します。

    - (void)textViewDidChange:(UITextView *)textView
    {
        if ([textView.text rangeOfString:@"\n\n"].location == NSNotFound) return;
        NSString *resultStr = [textView.text stringByReplacingOccurrencesOfString:@"\n\n" withString:@"\n"];
        textView.text = resultStr;
    }
    

これにより、すべての空行が削除されます。

于 2012-10-07T21:55:30.110 に答える