Swift-存储视图的堆叠顺序

时间:2018-12-14 12:22:26

标签: ios swift uiimageview subview

我使用view.addSubview(imageView)UIimageview上添加了两个UIview。如何存储它们的堆叠顺序并以确切的顺序复制它们?有什么建议么?我希望将堆叠订单信息存储在Firebase上。

3 个答案:

答案 0 :(得分:2)

在这里,您可以使用其他答案(使用父级的子视图)中提到的方法来做到这一点,

if let indexOfImageView = view.subviews.firstIndex(where: {$0 === imageView})) {
    // Save index of image view
}

答案 1 :(得分:0)

从Apple Doc,

  

您可以使用此属性来检索与自定义视图层次结构关联的子视图。数组中子视图的顺序反映了它们在屏幕上的可见顺序,索引为0的视图是最后一个视图。

     

对于在UIKit和其他系统框架中声明的复杂视图,该视图的任何子视图通常被视为私有视图,并且随时可能更改。因此,您不应尝试检索或修改这些类型的系统提供的视图的子视图。如果这样做,您的代码可能会在将来的系统更新期间中断。

Ref:https://developer.apple.com/documentation/uikit/uiview/1622614-subviews

答案 2 :(得分:0)

添加子视图时,它存储在数组中。要检索数组,您只需写下

view.subviews