【发布时间】:2021-02-20 19:20:32
【问题描述】:
当在 UIView 子类中覆盖 layoutSublayers(of:) 时,我可以安全地假设传递给该方法的层总是是 UIView 的层吗?
如果是这样,这是否在文档中某处进行了说明(我已经搜索但没有找到任何提及)?
为了提供一些关于我为什么要问的上下文:在自定义 UIView 子类中对 CALayerDelegate 方法 layoutSublayers(of:) 的 UIViews 实现的覆盖中,检查该层是否是视图自己的层是否有意义,如下所示:
class FooView: UIView {
override func layoutSublayers(of layer: CALayer) {
guard layer === self.layer else { return }
}
}
或者这个检查是多余的,因为 Apple 官方保证(除非我个人更改它)视图将仅成为它自己层的代表?
【问题讨论】:
标签: ios uiview overriding subclass calayer