它是检测某一特征的类存在并降低用户的功能取决于可用性的最佳实践。 我在故事板创建UICollectionView和标准的tableview支持IOS 5.1的用户。 我然后简单地检查用户是否有此功能,并且Segue公司到合适的场景。 然而,当我现在尝试编译我的代码我得到一个“使dyld:找不到符号:_UICollectionElementKindSectionHeader”这似乎是苹果非常反模式不允许在故事板ios6.0内设有IOS 5.1部署目标。
if ([UICollectionView class]) {
[self performSegueWithIdentifier:@"UserShow" sender:self];
} else {
[self performSegueWithIdentifier:@"UserShowTable" sender:self];
}
上面似乎是一个非常合理的做法,我...
你不能。 只要你放下集合视图控制器到故事板,它会自动尝试引用它,会导致你有编译错误是什么。
我知道这是不恰当的只放链接的答案,但她这是不可能包括整个文件。
请参阅此 。
控制器被设计为提供相同的功能的iOS 6的UICollectionController但仍支持到iOS 4/5
哪些开发人员告诉
PSTCollectionView
开源的,为的iOS4.3 100%API兼容的替代UICollectionView的+
你想用UICollectionView,但仍然需要支持iOS4的/ 5? 然后你会会喜欢这个项目。 我最初写它PSPDFKit ,我的iOS PDF框架,支持文本选择和注释,但这个项目似乎办法有用的给别人,以保持它自己:)另外,我喜欢新的GridView的涌入停止。 更好地只写布局管理器,并建立一个伟大的代码库。
我们的目标是使用PSTCollectionView在iOS 4/5作为备用,并切换到UICollectionView在iOS6的。 我们甚至使用某些运行时的技巧,在运行时创建UICollectionView为旧版iOS。 理想情况下,你只是链接文件,一切工作在旧系统。 实际上,这不是那么容易的,特别是当你使用UICollectionView类的子类,因为它们无法在运行时进行更换。
还有的通过图板前的6.0部署不兼容的解决方案,但PSTCollectionView不支持iOS 5.0及并积极维护。 它在运行时的工作使用UICollectionView*
在6.0及更高版本,并应故事情节兼容。
文章来源: How to use UICollectionViewController in storyboard while still supporting ios 5.1?