2012-06-06 169 views
0

我正在開發一個應用程序,其中包含一個視圖,在該視圖中我必須繪製幾件事情。我應該使用哪種技術在iOS上繪圖?

我的觀點看起來像這樣:

Screenshot app

這只是一個整個視圖的一部分,但它是相同的所有事情的看法的高度。

這表示列車的軌道。所以在我的應用程序中,有些列車會出現在賽道上。

我的問題是,我應該使用哪種技術:

  • CoreGraphics中繪製所有對我的看法?
  • UITableView,然後只繪製一個行,並繪製一些組件內部(更容易管理?)
  • 或其他?

非常感謝!

回答

1

你可以這樣做:使用UITableView作爲佈局,然後用CoreGraphics獨立繪製每個UITableViewCell。這保留了表格視圖的靈活性,同時釋放了CoreGraphics繪圖的力量。

+0

非常感謝,我將使用UITableView繪製我的佈局,然後繪製CoreGraphics的所有東西。再次感謝 ! – Vinestro

+0

總是質疑在設計這樣的屏幕時是否可以使用UITableView。它的重用機制非常有效,它可以爲您節省很多麻煩。 – Cyrille

1

最簡單也是最有效的方法是使用png和UIImageView。您可以使用此操作執行簡單的循環動畫並使用.frame.origin.center對其位置進行動畫處理。

如果您希望對單獨組件有更多的控制權,也許您希望列車的各個部分因各種參數而具有不同的動畫效果,那麼您可以使用CALayer s來構建更精細的動畫。

作爲最後的手段,您可以在UIView子類中覆蓋drawRect:。在這種方法中,您可以使用EncoreGraphics函數的UIKit包裝器(UIBezierPath等)。 UIKit和CoreGraphics使用不同的座標系統,使用UIKit包裝器可以緩解這個問題。

+0

非常感謝您的回覆!但我能做到這一點只是爲了讓我的火車動畫化。 使用TableView繪製佈局是個好主意嗎? – Vinestro

相關問題