2012-05-08 43 views
3

我需要包含幾個子視圖一個UIView的深層副本的深層副本。請幫我弄清楚如何做到這一點?我已經做了一些搜索谷歌和SO,沒有發現任何我想做的事情。做一個UIView及其所有子視圖

說明對於那些想知道爲什麼誰:我有一個無限滾動的UIScrollView其中,當然,內容重複。內容的每個「集合」(例如,標記爲A-Z的26個UIButton)都包含在一個視圖內。這是我需要製作深層副本的視圖,以便我可以在滾動視圖中在屏幕上顯示它的多個實例。

我不能簡單地重新創建包含按鈕視圖的結構,因爲按下按鈕調用我的UIScrollView子類沒有訪問類的功能。我也不希望重新創建它們,因爲通過邏輯來重新創建並將所有子視圖放置在容器視圖中似乎是一種浪費,因爲我可以直接製作深層副本。

任何人都可以幫助我嗎?

+0

所以每次滾動的時候,你是分配新UIViews,即使他們的人的精確副本你已經在內存? –

+0

除了埃文上面的優秀點之外,你有沒有看過代表? – Luke

+0

@Evan科德爾是的......我基於它從蘋果的示例代碼,我發現在這裏:http://developer.apple.com/library/ios/#samplecode/StreetScroller/Introduction/Intro.html它甚至不工作正確的,因爲子視圖不是深層的副本,所以他們只出現在屏幕上一次(即應用程序啓動,UIView是在屏幕上,我滾動,當它來添加另一個(相同的)UIView時,它似乎但原來的UIView似乎*消失了,因爲子視圖是指向單個對象的指針)。整個事情是一團糟,我希望能夠深入複製和修復它! – WendiKidd

回答

3

(發表我對我的意見的要求)

啊哈我現在看到了。我認爲唯一的方法是在運行時創建更多副本並隱藏它們;否則你必須遍歷所有的子視圖,重新創建所有的框架,顏色等......但正如你所說,那麼你可能會遇到複製按鈕目標等問題 - 但可能有一些有用的東西來幫助完成這裏:

How to get UIButton Target, Action and Control events?

+1

這正是我所需要的 - 能夠複製UIButton中的所有內容,我能夠完全重新創建我的視圖。我希望蘋果公司能夠自己深度複製用戶界面元素,但如果沒有這個功能,這種方法就行得通了。謝謝! :) – WendiKidd

相關問題