2011-08-02 77 views
0

我想在UIView中放入幾個動態繪製的多邊形,並使每個這樣的多邊形可拖動。我應該將每個動態繪製的多邊形放在子視圖中並將其添加到UIView(這看起來不可能,因爲一個UIView只能顯示一個子視圖),還是應該在不同的CALayer中繪製每個多邊形並將觸摸事件級聯到每個圖層?拖動多個動態繪製多邊形

回答

1

我認爲你的假設是錯誤的。一個UIView可以包含並顯示多個子視圖。 (這就是爲什麼子視圖是一個NSArray - 因爲可以有很多這樣的子。)所以是的,你應該爲每個多邊形創建一個新的UIView,並將它們作爲子視圖添加到你的主視圖。

如何繪製多個可拖動的多邊形?如果您註冊爲iOS開發人員,則可以訪問Apple開發人員資源並查找WWDC2011會話視頻。在WWDC2001會議118「讓大多數人在IOS上使用多點觸摸」中,Ken Kocienda演示了一個應用程序,它使用手勢識別器來檢測觸摸。我不認爲應用程序的代碼是可用的,但他詳細討論了它。

0

這取決於你的多邊形數量和它們是多麼動態。如果你的數量很多,那麼擁有數百個UIViews將會是昂貴的;在這種情況下,您最好使用CALayers並手動跟蹤位置。如果你只有少數幾何多邊形,那麼不要讓你的生活複雜化並去尋找UIViews。