【问题标题】:Add CALayer below UIView在 UIView 下面添加 CALayer
【发布时间】:2013-12-13 03:37:50
【问题描述】:

我有一个UIView(我们称之为超级视图),其中包含另一个UIView(我们称之为子视图)。

我想添加一个CALayer,以便它在我的超级视图之上可见,但在我的子视图之下。 换句话说,我的子视图的背景应该覆盖图层。

我看过addLayer:below: 和其他人,但我不知道如何使用它。 谢谢。

编辑:我的错,我在超级视图和子视图之间有另一个视图,我把它弄乱了。谢谢大家!

【问题讨论】:

    标签: ios objective-c uiview calayer


    【解决方案1】:
    [self.view.layer insertSublayer:CALayer below:subview.layer]
    

    【讨论】:

    • 我的错,我在超级视图和子视图之间有另一个视图,我在搞砸它。这就像一个魅力。谢谢!
    • 答案不够正确。您不需要插入 CALayer。因为如果你给你的superview添加sublayer,那么这个layer肯定会在这个superview的任何子view下。
    【解决方案2】:

    Swift 中:

    self.view.layer.insertSublayer(self.avPlayerLayer, below: self.button1.layer)
    

    【讨论】:

    • 如果我们在self.view.layer.subalayers 中没有self.button1.layer 怎么办?如果你知道答案,请告诉我
    • 如果我上面的评论帮助您解决了问题,请告诉我@flinth,并且不要忘记为这个答案添加 +1。
    • 很遗憾没有。我知道这些方法。请看我的问题。 stackoverflow.com/questions/30564635/…
    • @flinth 我刚刚回答了你的问题。
    【解决方案3】:

    您无权访问子视图的更通用的解决方案:

    layer.insertSublayer(sublayer, at: 0)
    

    【讨论】:

      猜你喜欢
      • 2013-04-05
      • 2023-04-05
      • 1970-01-01
      • 2013-11-01
      • 1970-01-01
      • 2021-06-08
      • 2013-09-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多