我有UITableViewCell和UIView
。 我做了一些CABasicAnimation並將其連接到新的CAShapeLayer,然後我在UITableViewCell中添加這一層我超層:Swift:移除圖層,不需要移除UITableViewCell中的UIView
self.layer.addSublayer(myLayer!)
所有尼斯除了myLayer(和他的動畫),顯示我的UIView
以上。 我希望該標籤低於UIView
。
我加入我的UIView
層以同樣的方式實現這一目標:
self.layer.addSublayer(myViewLayer!)
在這種情況下,我UIView
層是對CAShapeLayer的頂部動畫。
但我有一個問題,我需要刪除層的UIView - myViewLayer
,因爲它滾動時違反了UIView的寬度。
動畫完成後,我需要刪除圖層,我可以毫無困難地移除CAShapeLayer - myLayer。
myLayer?.removeFromSuperlayer()
但是,當我試圖做與myViewLayer
相同,我的UIView也被刪除。但我不希望這樣,我需要在屏幕上和我的視圖層次結構中使用我的UIView。
我不明白爲什麼,如果看看self.layer.sublayers
我看到這個(添加圖層前):
[<CALayer: 0x7fd1f0d4fe40>, <CALayer: 0x7fd1f0ddc950>]
和動畫後完成,myLayer被刪除:
[<CALayer: 0x7fd1f0d4fe40>, <CALayer: 0x7fd1f0ddc950>, <CAGradientLayer: 0x7fd1f0de3660>]
,你可以看到CAGradientLayer是我的UIView的一層。所以,我沒有把它手動添加到sublayers數組中。我如何刪除它,而不刪除我的UIView?
或者如何添加MyLayer下面的UIView?
編輯
在幾句話我的動畫之前有這層層次:
[<CALayer: 0x7fd1f0d4fe40> <- (I think this is UITableViewCell layer), <CALayer: 0x7fd1f0ddc950> <- (then, this is UITableViewCell content view layer)]
在同一時間,我有這樣的視圖層次:
的UITableViewCell - >查看內容 - > UIView
我需要添加新的圖層與動畫,UIView下面(我想UIView部分海灣新的圖層與動畫)。我如何做到這一點?
我還沒有UITableView層次結構中的UIView層,所以我不能只使用addLayer:below:
等等來添加動畫層。
,你可以看到,'self.layer.sublayers'沒有'UIView.layer'在開始,但如果我添加它我有休息的煩惱。 –
在iOS上,每個UIView都有一個圖層。所以self.view.layer是你的視圖對象的圖層。最初,它不會有子層。 –
是的你是對的,它沒有圖層,但這self.view有子視圖(我的UIView - 有層myViewLayer)。我再次提到這一點,這個UIView層沒有在self.view.layer.sublayers中找到。 –