。
我需要实现一个充当日志视图的视图,以便当您将消息推送到其中时,该消息会将其他消息向上推送。iOS有这样的事情吗?
您可以使用标准UITableView轻松实现它:
- 每个单元格将负责显示 1 条日志消息
- 在新邮件到达时将新单元格添加到表格末尾
- 添加单元格后将表格滚动到底部(使用带有
UITableViewScrollPositionBottom
位置参数scrollToRowAtIndexPath:atScrollPosition:animated:
方法)
这意味着您需要将日志消息存储在数组中,但是如果您要显示它们,则无论如何都需要存储消息
@Vladimir的答案可能是要走的路,但只是为了看到一些额外的选项,这里有一个使用 UITextView 的例子:
- (IBAction)addNewLog:(UIButton *)sender {
NSString *myInputText = @"some new text from string";
NSString *temp = myTextView.text;
[myTextView setText:[temp stringByAppendingString:[NSString stringWithFormat:@"n%@: %@",[NSDate date],myInputText]]];
[myTextView setContentOffset:CGPointMake(0, myTextView.contentSize.height - myTextView.frame.size.height) animated:NO];
}
然后,如果要将文本视图中的文本分隔为数组中的对象:
NSArray *myAwesomeArray = [myTextView.text componentsSeparatedByString:@"n"];
请注意,如果"myInputText"字符串包含换行符,则上述内容会中断。