【问题标题】:Swift - Store the stacking order of viewsSwift - 存储视图的堆叠顺序
【发布时间】:2018-12-14 12:22:25
【问题描述】:

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

【问题讨论】:

    标签: ios swift uiimageview subview


    【解决方案1】:

    这是使用其他答案中提到的方法(使用父级的子视图)的方法,

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

    【讨论】:

      【解决方案2】:

      来自 Apple Doc,

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

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

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

      【讨论】:

        【解决方案3】:

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

        view.subviews

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-03-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-10-26
          相关资源
          最近更新 更多