如何使用属性布局属性类 UI 查询视图布局



>我发现属性布局属性类的可用性是 sdk 10 或更高版本,但我写

+ (Class)layoutAttributesClass
{
    return [MyCollectionViewLayoutAttributes class];
}

在我的自定义UICollectionViewFlowLayout类中,当我在手机上测试(SDK 9)时,这个函数 called.so 如何理解SDK的可用性以及何时调用这个函数?提前谢谢。

文档具有误导性。自引入 iOS 6.0 以来,+[UICollectionViewLayout layoutAttributesClass]方法一直得到公开支持UICollectionViewLayout

类属性是在 iOS 10 发布的 Xcode 8 中引入的。当时,layoutAttributesClass被更改为类属性,而不仅仅是类方法。此更改意味着它作为类属性而不是类方法导入到 Swift 中。

在 Objective-C 中,你仍然必须将其作为类方法覆盖。您编写的代码在 6.0 以来的所有 iOS 版本中都是正确的。

此属性在 iOS 8 或 9 中可用,但在 iOS 10 中不可用。我认为您可以从iOS 8及更高版本实现这一点。

下面是用于确定类在 SDK 中是否可用的代码

if ([UICollectionViewLayoutAttributes class]) 
{
//Write your code here that you want when the class is available for that sdk.    
}

最新更新