1

我正在尝试为我的应用程序添加一种以易于理解的形式显示数据的方式。我尝试用图表来做这件事,但发现它有点尴尬,所以我要去寻找更好的解决方案。

这里有一个问题:我想显示最多 30 天的数据,并根据时间线绘制用户报告的事件。事件应垂直对齐,以直观地提供某些事件何时聚集在一起的参考。

为了解决这个问题,我想到了使用具有比例背景的 UITableView,并在该背景上叠加一组“pins”,指示用户事件。随着表格的滚动,事件将一个接一个地排列在一起,很好地表明了历史事件的发展: 带有指示用户事件的引脚的自定义 UITableViewCell

我知道这可以通过 UIScrollView 来完成,我可以在其中定位一系列标尺并将事件添加为引脚。为了有效地做到这一点,我将不得不使用平铺,这是一种我没有太多经验的技术。

我很想知道这是否可以通过 UITableView 实现,其中缓存和平铺已经为我完成。

我尝试将 UIImageViews 添加到 tableViewCell.backgroundview ,但这不会产生预期的结果。我希望能够动态地将任意数量的子视图添加到表格单元格中。我可以通过向 .xib 添加一定数量的图像然后尝试重新定位它们来做到这一点,但这似乎不是一个理想的解决方案。

我正在尝试使用 UITableView 做什么,还是应该放弃这些努力并使用平铺查看 UIScrollView?

谢谢!

4

1 回答 1

1

是的,这应该是可能的。将标尺图像添加到 UITableViewCell 的背景。

然后创建一个 UITableViewCell 的子类,该子类接受将放置在其视图中的引脚对象数组。pin 对象将包含 pin 图像和比例尺上的水平位置。然后在 tableView 数据源方法 cellForRowAtIndexPath 方法中,将 tableViewCell 的引脚数组设置为正确的引脚数组(或 NSSet)。

为了使其更加轻量级,您可以在 UITableViewCell 子类的 drawRect 方法中自己绘制引脚。然后你可以只传递引脚的位置。

祝你好运

于 2011-11-20T16:31:20.443 回答