0

我正在开发一个应用程序,其中包含一个我必须在其中绘制几件东西的视图。

我的观点是这样的:

截图应用

这只是整个视图的一部分,但所有视图的高度都是一样的。

这代表火车的轨道。所以在我的应用程序中,一些火车会出现在轨道上。

我的问题是,我应该使用哪种技术:

  • CoreGraphics 在我的视图上绘制所有内容?
  • UITableView,然后只逐行绘制一个轨道,并在里面绘制一些组件(更容易管理?)
  • 或其他 ?

非常感谢提前!

4

2 回答 2

1

你可以同时做:使用 UITableView 进行布局,然后使用 CoreGraphics 独立绘制每个 UITableViewCell。这保留了表格视图的灵活性,同时释放了 CoreGraphics 的绘图功能。

于 2012-06-06T10:47:19.790 回答
1

最简单也可能是最有效的方法是使用 png 和UIImageView. 您可以使用它执行简单的循环动画,并使用.frame.origin或为其位置设置动画.center

如果您想对单独的组件有更多的控制,也许您希望火车的某些部分由于各种参数而产生不同的动画,那么您可以使用CALayers 来构建更精细的动画。

作为最后的手段,您可以drawRect:UIView子类中覆盖。在此方法中,您可以使用UIKitCoreGraphics 函数(UIBezierPath等)的包装器。UIKit和 CoreGraphics 使用不同的坐标系统,使用 UIKit 包装器可以缓解这个问题。

于 2012-06-06T10:53:04.877 回答