我应该使用哪种技术在iOS上绘图?

时间:2012-06-06 10:40:29

标签: iphone objective-c ios5 core-graphics

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

我的观点如下:

Screenshot app

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

这表示火车的轨道。因此,在我的应用程序中,一些列车将出现在赛道上。

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

  • CoreGraphics在我的观点上绘制所有内容?
  • UITableView,然后逐行绘制并在其中绘制一些组件(更容易管理?)
  • 或其他?

提前多多感谢!

2 个答案:

答案 0 :(得分:1)

您可以同时执行这两项操作:使用UITableView进行布局,然后使用CoreGraphics独立绘制每个UITableViewCell。这保留了桌面视图的灵活性,同时释放了CoreGraphics的绘图功能。

答案 1 :(得分:1)

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

如果您想要更多地控制单独的组件,可能您希望列车的某些部分因各种参数而有不同的动画,那么您可以使用CALayer来构建更精细的动画。

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