【发布时间】:2018-12-14 12:22:25
【问题描述】:
我使用view.addSubview(imageView) 在UIview 上添加两个UIimageview。如何存储它们的堆叠顺序并以确切的顺序复制它们?有什么建议么?我希望将堆叠顺序信息存储在 firebase 上。
【问题讨论】:
标签: ios swift uiimageview subview
我使用view.addSubview(imageView) 在UIview 上添加两个UIimageview。如何存储它们的堆叠顺序并以确切的顺序复制它们?有什么建议么?我希望将堆叠顺序信息存储在 firebase 上。
【问题讨论】:
标签: ios swift uiimageview subview
这是使用其他答案中提到的方法(使用父级的子视图)的方法,
if let indexOfImageView = view.subviews.firstIndex(where: {$0 === imageView})) {
// Save index of image view
}
【讨论】:
来自 Apple Doc,
您可以使用此属性来检索与您的自定义视图层次结构关联的子视图。数组中子视图的顺序反映了它们在屏幕上的可见顺序,索引为 0 的视图是最后面的视图。
对于在 UIKit 和其他系统框架中声明的复杂视图,视图的任何子视图通常被认为是私有的并且随时可能更改。因此,您不应尝试检索或修改这些类型的系统提供的视图的子视图。否则,您的代码可能会在以后的系统更新期间中断。
参考:https://developer.apple.com/documentation/uikit/uiview/1622614-subviews
【讨论】:
当你添加一个子视图时,它被存储在一个数组中。要检索数组,您只需写下
view.subviews
【讨论】: