我正在開發一個應用程序,其中包含一個視圖,在該視圖中我必須繪製幾件事情。我應該使用哪種技術在iOS上繪圖?
我的觀點看起來像這樣:
這只是一個整個視圖的一部分,但它是相同的所有事情的看法的高度。
這表示列車的軌道。所以在我的應用程序中,有些列車會出現在賽道上。
我的問題是,我應該使用哪種技術:
- CoreGraphics中繪製所有對我的看法?
- UITableView,然後只繪製一個行,並繪製一些組件內部(更容易管理?)
- 或其他?
非常感謝!
我正在開發一個應用程序,其中包含一個視圖,在該視圖中我必須繪製幾件事情。我應該使用哪種技術在iOS上繪圖?
我的觀點看起來像這樣:
這只是一個整個視圖的一部分,但它是相同的所有事情的看法的高度。
這表示列車的軌道。所以在我的應用程序中,有些列車會出現在賽道上。
我的問題是,我應該使用哪種技術:
非常感謝!
你可以這樣做:使用UITableView作爲佈局,然後用CoreGraphics獨立繪製每個UITableViewCell。這保留了表格視圖的靈活性,同時釋放了CoreGraphics繪圖的力量。
最簡單也是最有效的方法是使用png和UIImageView
。您可以使用此操作執行簡單的循環動畫並使用.frame.origin
或.center
對其位置進行動畫處理。
如果您希望對單獨組件有更多的控制權,也許您希望列車的各個部分因各種參數而具有不同的動畫效果,那麼您可以使用CALayer
s來構建更精細的動畫。
作爲最後的手段,您可以在UIView
子類中覆蓋drawRect:
。在這種方法中,您可以使用EncoreGraphics函數的UIKit
包裝器(UIBezierPath
等)。 UIKit
和CoreGraphics使用不同的座標系統,使用UIKit包裝器可以緩解這個問題。
非常感謝您的回覆!但我能做到這一點只是爲了讓我的火車動畫化。 使用TableView繪製佈局是個好主意嗎? – Vinestro
非常感謝,我將使用UITableView繪製我的佈局,然後繪製CoreGraphics的所有東西。再次感謝 ! – Vinestro
總是質疑在設計這樣的屏幕時是否可以使用UITableView。它的重用機制非常有效,它可以爲您節省很多麻煩。 – Cyrille