1

これが私がアプリにやってもらいたいことです。

「テキストフィールド」ではなく「テキストビュー」をタップすると、キーボードが表示され、箇条書き( "\ u2022")がポップアップ表示されます。あなたはあなたの文章をタイプし、そしてあなたがリターンを押すとき、それは新しい弾丸を作ります。

つまり、基本的に、箇条書きのテキストビューがあります。Wordと同じように、箇条書きを開始し、Returnキーを押すと、新しい箇条書きが作成されるため、その行で入力を開始できます。

アプリに何をさせたいか

どうすればよいですか?

これは私のような他の愚かな初心者のために働いたものです:

これを.mファイルに入れます

-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range  replacementText:(NSString *)text
{
if([text isEqualToString:@"\n"])
{
NSString *modifiedString = [myTextView.text stringByAppendingString:@"\n\u2022"];
[myTextView setText:modifiedString];
return NO;
}
return YES;
}

これを.hファイルに入れました

@interface CRHViewController3 : UIViewController <UITextViewDelegate> {

    __weak IBOutlet UITextView *myTextView; 


} 

次に、これをviewDidLoadの下に置きます

    - (void)viewDidLoad
{
    [super viewDidLoad];

[myTextView setDelegate:self];   

}
4

3 に答える 3

2

これを試してみてください。

(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
    if([text isEqualToString:"\n"])
    {
        NSString *modifiedString = [textView.text stringByAppendingString:@"\n\u2022"];
        [textView setText:modifiedString];
        return NO;
    }
    return YES;
}
于 2012-07-31T18:26:08.483 に答える
0

このコードを使用するには:

(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
    if([text isEqualToString:"\n"])
    {
        NSString *modifiedString = [textView.text stringByAppendingString:@"\n\u2022"];
        [textView setText:modifiedString];
        return NO;
    }
    return YES;
}

ヘッダーファイルは次のようになっている必要があります。

@interface MyViewController : UIViewController <UITextViewDelegate> {

   //instance variables in here
}
于 2012-07-31T19:07:03.210 に答える
0

このメソッド-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)textは、削除時に入力された文字ごとに呼び出されます。したがって、この方法では、すべての改行を箇条書き文字に置き換えることができます。

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
...
   textView.text = [textView.text stringByReplacingOccurrencesOfString:@"\\n" withString:@"\u2022"];
...
}
于 2012-07-31T18:10:28.193 に答える