如何在iPhone中创建评论页面?

时间:2012-08-02 10:23:06

标签: iphone xcode comments uilabel uitextview

我正在尝试创建一个评论页面,我正在使用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];

    }

2 个答案:

答案 0 :(得分:1)

我的开始建议是,不要使用视图(UILabel)作为数据的主存储位置。

创建一个NSMutableString属性来保存评论(或者可能是NSMutableArray个字符串),并且每当有提交操作时,将新字符串添加到之前的字符串中......然后显示该字符串。如果您使用单个字符串,请查看appendString:。如果使用数组,则将新条目添加为数组中的对象。 (我喜欢数组的想法,因为它允许选择要显示的注释数量。)

简单地说,这样做会使屏幕更新看起来更像您想要的,并且将数据与屏幕元素分开,这样可以更轻松地在应用程序的启动之间进行保存,如果您打算这样做。

答案 1 :(得分: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中进行此设置)。