有什么方法可以获取图层的父视图吗?

Adi*_*hya 3 view calayer ios

是的,您正确阅读了“图层的父视图”。我不确定使用的术语是否正确,但是我的意思是,我添加了一个图层作为视图的子图层。我想知道是否有任何方法可以从图层中获取视图。

Léo*_*ier 6

这个问题已经很老了,但是访问CALayer的父视图很容易,因为:

layer.delegate

如果您查看调试器,则会看到该delegate属性中填充了UIView“图层” 容器,如果没有,则可以递归检查,直到CALayer直接将主视图托管在视图中。

来源:https//developer.apple.com/documentation/quartzcore/calayer/1410984-delegate


tro*_*foe 0

好的,所以如果您有一个常用的CALayer子类并且需要“调用视图”,那么在我看来该视图需要符合协议才能正常工作。

在这种情况下,您需要使用 KVC 存储对层内视图的引用:

[layer setValue:view forKey:MyViewKey];
Run Code Online (Sandbox Code Playgroud)

可以在哪里MyViewKey声明为CALayer-subclass 代码的一部分:

extern NSString * const MyViewKey;
Run Code Online (Sandbox Code Playgroud)

并将被定义为:

NSString * const MyViewKey = @"Hello Mum";
Run Code Online (Sandbox Code Playgroud)