0

コメントページを作成しようとしていますが、コメントを追加するスペースに UITextView を使用し、コメントが印刷される場所に UILabel を使用しています。コメントをページに「貼り付ける」にはどうすればよいでしょうか。現在、UITextView に何か新しいものが入力されるたびに書き換えられ続けています。どうもありがとう!

EDIT2:

これが私のコードです...サーバーなどにデータを保存する必要がありますか?

私のヘッダーファイルでは:

{
    IBOutlet UITextView *commentBox;

    IBOutlet UILabel *commentsDisplay;


}

-(IBAction)submit; 

私の実装ファイルでは:

 -(IBAction)submit{

   NSMutableString *tmpStr = [[NSMutableString alloc]initWithString:commentsDisplay.text];
   [tmpStr stringByAppendingString:[NSString stringWithFormat:@"%@", commentBox.text]];
   [commentsDisplay setText:tmpStr];

    commentBox.text = @"";

   [commentBox resignFirstResponder];

    }
4

2 に答える 2

1

私の最初の提案は、ビュー (UILabel) をデータのメイン ストレージの場所として使用しないことです。

NSMutableStringコメント (またはおそらく文字列の ) を保持するプロパティを作成しNSMutableArray、送信アクションがあるたびに、以前のものに新しい文字列を追加して、それを表示します。これに 1 つの文字列を使用する場合は、 を参照してappendString:ください。配列を使用する場合は、新しいエントリをオブジェクトとして配列に追加します。(表示するコメントの数を選択できるため、配列のアイデアが気に入っています。)

単純にこれを行うだけで、画面の更新が希望どおりになり、データを画面要素から分離することで、アプリの起動間での保存が容易になります。

于 2012-08-02T14:21:45.370 に答える
0

それ以外の:

commentsDisplay.text = [NSString stringWithFormat:@"%@",[commentBox text]];

これを行う:

NSMutableString *tmpStr = [[[NSMutableString alloc]initWithString:commentsDisplay.text]autorelease];
[tmpStr stringByAppendingString:[NSString stringWithFormat:@"\n%@", commentBox.text]];
[commentsDisplay setText:tmpStr];

このようにして、送信したテキストを既存のテキストに追加します...

...そしてラベルを複数行にすることを忘れないでください(この設定はInterface Builderで行うことができます)。

于 2012-08-02T15:00:54.343 に答える