Louis - 感謝您的輸入。這是我所做的,以及我目前的問題,我不明白。iPhone圖層管理 - 最佳實踐
菜單(2)是響應觸摸的UIImageView。每個人都是自己的班級。你稱之爲「精靈」也會對觸摸做出反應。
在.m中,我將菜單和圖片添加到圖層,通過以下代碼創建了兩個容器圖層:menuContainer = [CALayer圖層]。
我使用spriteContainer上方的menuContainer對它們進行了排序。現在,精靈在菜單下方移動 - 非常棒!但在這個過程中,精靈停止響應觸摸(我可以理解,因爲它們在menuContainer層下面),並且菜單也停止響應觸摸(不明白)。繼續混淆這種情況,添加到menuContainer中的圖層通過彈出滑塊來響應多點觸控手勢,但仍會讀取多點觸控並彈出滑塊,但我無法滑動滑塊。這使我徹底混淆了。
謝謝。
我的應用程序正在建立一個背景圖層,然後建立一些應該始終位於頂部的菜單圖層。在此之後,我添加了許多移動圖層,並很快移除了許多移動圖層。
我的問題是我想我的菜單圖層(有4個)總是在其他圖層的前面。我曾想過構建一個圖層層次結構,並使用insertsublayer:atindex:方法,使菜單的名義索引爲1000,並將大量移動圖層插入較低索引處(如200)。如果我在200處插入一個圖層,然後接下來是200,分配給200的第一層是否會移位(到201)還是會被吹走?
我已經嘗試插入圖層與插入:下面:,但是這並沒有給我想要的結果。
感謝您的幫助。
這是一個很好的問題。我也想知道爲什麼蘋果公司不僅僅以Z座標屬性的形式包含Z排序機制。 – Amagrammer
假設你正在討論CoreAnimation-Layers,你會發現實際上有一個zPosition屬性,另外還有一個可自由調整的CATransform3D。但是,這些屬性都只考慮到了兄弟姐妹。因此,如果您需要完整的3D對象/動畫,CoreAnimation不可用。插入的次序是計算哪個圖層在另一個圖層上繪製的。 – Till
實際上,如果您在CATransformLayer中放置了一堆圖層,則可以複製一些非常複雜的3-D效果。唯一真正的限制,3-D明智的是,CALayers必須是矩形的。 –