我正在開發某種卡片遊戲,其中我的視圖對象(卡片等)都是CALayer。這些對象被添加爲mainBoard
(CALayer)的子圖層,而該子圖層又是mainView
的[UIView layer]
屬性的子圖層。一切正常,我可以做正確的測試,以確認通過mainView
類的touchesBegan:withEvent:
回調正常觸摸哪個圖層,依此類推。CALayer內的UIScrollView
不過,我需要讓我的mainBoard
內滾動顯示「做大」 CALayers,所以我第一次嘗試將「做大」的CALayer一個CAScrollLayer
裏面,但我注意到,CAScrollLayer
並沒有真正滾動(沒有按」處理用戶輸入,既不繪製滾動條)。所以,解決方法是直接將UIScrollView添加到mainView
UIView。 UIScrollView
完美滾動,直到我嘗試使用[scrollView.layer addSublayer:<bigger layer>]
將「更大」圖層添加到它。
有沒有人有任何想法,我怎麼可以有一個CALayer「可滾動」的對象?
謝謝!
增加大層滾動視圖時,除此之外,我認爲直接添加子層scrollView.layer到底發生了什麼?是不是一個好主意,你爲什麼不把它們添加到包含視圖的層通過你的滾動視圖? – nacho4d 2010-12-15 19:00:26
你可以定義什麼是「更大」的CALayers?你能簡單地描述爲什麼「更大」的物品必須是CALayers?通過閱讀你的問題,我想知道你爲什麼不簡單地使用UIScrollView - 它包含了你所要求的一切,最好不要重新實現。 – Mark 2011-01-17 18:22:38
我的整個應用程序由CALayers對象組成,因爲我正在使用Core Animation級別而不是UIKit抽象級別。問題是,核心動畫不提供滾動組件,所以我不得不做一個變通方法混合的UIKit對象(UIScrollView中)和CoreAnimation對象(CALayers),使它們無縫地工作。這不是一個問題,因爲UIKit只是CoreAnimation的一個包裝。謝謝 – 2011-01-20 13:23:49