Ios CALayer在UIView中如何成为底层而不导入石英砂芯
我一直在读一些关于核心动画的书,强调要更好地理解CALayer,必须对CALayer有很好的理解 我感到困惑的部分可能不那么重要,但我只是想更好地理解一个事实,显然CALayer和UIView之间有着非常紧密的联系,显然每个UIView默认都有一个底层CALayer,但我的问题是 如何在每个UIView中使用CALayer而不必导入Quartz Core框架,如果假设要使用CALayer,则需要首先导入Quartz Core框架 我假设CALayer和UIView之间的这种紧密连接在每次使用UIView时都会发生,或者只在用于动画时才会发生?如果是这样的话,这将回答我的第一个问题,澄清我的困惑 以下是第16章“iPhone的iOS 5编程基础”一书中的段落 UIView实例有一个附带的CALayer实例,可作为视图的图层属性访问 “因为每个视图都有一个底层,所以有一个紧密的关系 两者的融合。” UIView始终由CALayer支持 UIView通过导入框架本身来使用Quartz核心框架。Quartz Core实际上已“加载”,但您的代码无法引用它,因为这些符号在编译时不可用于您的文件 您可以这样做(这是一种不好的做法,但说明石英磁芯实际上是可用的) 过去的情况是,为了与图层对象交互,必须导入Ios CALayer在UIView中如何成为底层而不导入石英砂芯,ios,objective-c,uiview,calayer,Ios,Objective C,Uiview,Calayer,我一直在读一些关于核心动画的书,强调要更好地理解CALayer,必须对CALayer有很好的理解 我感到困惑的部分可能不那么重要,但我只是想更好地理解一个事实,显然CALayer和UIView之间有着非常紧密的联系,显然每个UIView默认都有一个底层CALayer,但我的问题是 如何在每个UIView中使用CALayer而不必导入Quartz Core框架,如果假设要使用CALayer,则需要首先导入Quartz Core框架 我假设CALayer和UIView之间的这种紧密连接在每次使用UI
#import
。我不知道为什么,但从Xcode 5开始,情况似乎不再如此了。这可能与苹果如何改变他们管理预编译头的方式有关
id layer = [self.view performSelector:NSSelectorFromString(@"layer")];
NSArray *filtersOnLayer = [layer performSelector:NSSelectorFromString(@"filters")];