我正在尝试使用集合视图,我想支持5.1。我不是在使用故事板。我已将collectionview添加到我的视图控制器中。我正在识别版本和开放集合视图,如果它的6.0或更高版本打开另一个视图控制器。当我在5.1中运行我的应用程序时,它立即崩溃并出现错误:
未找到符号:_UICollectionElementKindSectionHeader
我看到下面的链接只描述了使用故事板时的情况。 How to use UICollectionViewController in storyboard while still supporting ios 5.1?
任何帮助都将不胜感激。
由于
答案 0 :(得分:4)
您确定已在项目的应用目标中将部署目标设置为iOS 5.1吗?
这应该导致以下结果:
“...早期版本中不可用的框架API将是弱链接的......”
(来自IPHONEOS_DEPLOYMENT_TARGET
的快速帮助。)
如果它在发布时立即崩溃,听起来好像它没有弱链接。
如果您确定已设置iOS 5.1的部署目标,则可以尝试强制整个UIKit.framework弱链接以解决问题。为此,在“链接的框架和库”部分中将其标记为“可选”而不是“必需”:
FWIW,我已经能够成功地完成您在Mac OS X应用程序中所描述的内容:我有一个针对最新SDK构建的应用程序,并且在运行时,检查OS X的版本并加载不同的笔尖。在OS X的更高版本的nib中,我可以使用早期版本的OS X中不存在的UI元素。如果您的应用程序是基于nib的,我看不出为什么你不能做在iOS中也一样。 (请注意,如果您使用的是故事板,那就是另一个故事)。
以下是如何设置它的示例项目:
http://www.markdouma.com/developer/CollectionViewFinagler.zip
答案 1 :(得分:3)
iOS5不支持UICollectionView。您只能将其与iOS6应用程序一起使用。对不起,但你运气不好。
Here是一个开源项目,可以帮助你,因为它被定义:
开源,100%API兼容替代UICollectionView for 的iOS4.3 +