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サブクラスでオーバーライドできます。UIKitこのメソッドでは、CoreGraphics関数などのラッパーを使用できますUIBezierPathUIKitCoreGraphicsは異なる座標系を使用し、UIKitラッパーを使用するとこの問題が軽減されます。

于 2012-06-06T10:53:04.877 に答える