我发现属性layoutAttributesClass的可用性是sdk 10或更高版本,但是我写了
+ (Class)layoutAttributesClass
{
return [MyCollectionViewLayoutAttributes class];
}在我定制的UICollectionViewFlowLayout类中,当在我的手机( sdk 9)上进行测试时,这个函数是called.so --如何理解sdk的可用性以及何时调用这个函数?提前谢谢。
发布于 2017-01-23 08:56:16
这些文件有误导性。+[UICollectionViewLayout layoutAttributesClass]方法自iOS 6.0引入UICollectionViewLayout以来一直得到公开支持。
类属性是在iOS 10发布的Xcode 8中引入的,当时,layoutAttributesClass被更改为类属性,而不仅仅是类方法。这种更改意味着它作为类属性而不是类方法导入到Swift中。
在Objective中,您仍然必须作为类方法重写它。您编写的代码在自6.0以来的所有版本的iOS中都是正确的。
发布于 2017-01-23 08:42:54
这个属性可以从iOS 8或9中获得,但不能从iOS 10中获得,我认为您可以在iOS 8和更高版本中实现这一点。
发布于 2017-01-23 08:58:00
下面是确定SDK中是否可用类的代码
if ([UICollectionViewLayoutAttributes class])
{
//Write your code here that you want when the class is available for that sdk.
}https://stackoverflow.com/questions/41801724
复制相似问题