我正在使用Xcode 6 Beta 3,iOS 8 SDK.使用Swift构建目标iOS 7.0.请通过以下屏幕截图逐步查看我的问题.
我在Storyboard中有一个UICollectionView.1原型UICollectionViewCell,中心包含1个标签(无自动调整规则).紫色背景是标记我在运行时由Cell生成的contentView.该视图最终将基于我的UICollectionViewLayoutDelegate正确调整大小,但不会在iOS 7上调整大小.请注意,我使用的是Xcode 6,问题只发生在iOS 7上.
当我在iOS 8上构建应用程序时.一切都很好.
注意:紫色是contentView,蓝色是我的带有圆角的UIButton.

但是,在iOS 7上,Cell中的所有子视图突然缩小到(0,0,50,50)的帧,并且永远不再符合我的自动调整规则.

我认为这是iOS 8 SDK或Swift或Xcode中的错误?
更新1:官方Xcode 6.0.1中仍存在此问题!最好的解决方法就像KoCMoHaBTa在下面通过设置单元格的cellForItem中的框架所建议的那样(你必须为你的单元子类化).事实证明,这是iOS 8 SDK和iOS 7之间的不兼容性(请查看Apple引用的ecotax的答案).
更新2: 将此代码粘贴到cellForItem的开头,事情应该没问题:
/** Xcode 6 on iOS 7 hot fix **/
cell.contentView.frame = cell.bounds;
cell.contentView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
/** End of Xcode 6 on iOS 7 hot fix **/
Run Code Online (Sandbox Code Playgroud)