Swift-将最近使用的子层存储在数组(或变量)中,并通过按钮在它们之间循环?

时间:2019-01-13 21:18:41

标签: swift uiimageview

我的应用程序正在动态创建子层(以下为“ myLayer1”)。我正在使用以下代码进行设置,效果很好

view.layer.insertSublayer(myLayer1, at: UInt32(sublayersCount))

显然,每次运行时,都会有一个新的myLayer1,而旧的myLayer1会丢失

我想存储这些OLD myLayer1,并使用IBACTION(“后退”按钮)在它们之间循环

我尝试了以下类似方法,给了我5种可能性

myLayer5 = myLayer4

myLayer4 = myLayer3

myLayer3 = myLayer2

myLayer2 = myLayer1

作为测试,我动态创建了几层,然后通过我的IBACTION进行了运行:

view.layer.insertSublayer(myLayer2, at: UInt32(sublayersCount))

但是,它没有显示过去的图层

实现此目标的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

1-如果愿意

view.layer.insertSublayer(myLayer2, at: UInt32(sublayersCount))

那等于

view.layer.addSublayer(myLayer2)

2-

由于您可能需要set

,所以添加的层隐藏了前一层。
myLayer2.opacity = // 0.0 --- 1.0

3-

代替创建变量use

view.layer.sublayers

访问所有当前子层