Xcode 6 Beta 3, iOS 8 SDK를 사용하고 있습니다. Swift를 사용하여 Target iOS 7.0을 빌드하십시오. 아래 스크린 샷으로 내 문제를 단계별로 참조하십시오.
Storyboard에 UICollectionView가 있습니다. 중앙에 1 개의 레이블을 포함하는 1 개의 프로토 타입 UICollectionViewCell (자동 크기 조정 규칙 없음). 보라색 배경은 내가 추측하는 Cell에 의해 런타임에 생성되는 contentView를 표시하는 것입니다. 해당 뷰는 결국 내 UICollectionViewLayoutDelegate를 기반으로 적절하게 크기가 조정되지만 iOS 7에서는 그렇지 않습니다. Xcode 6을 사용하고 있으며 문제는 iOS 7에서만 발생합니다.
iOS 8에서 앱을 빌드 할 때 모든 것이 괜찮습니다.
참고 : 자주색은 contentView 이고 파란색은 둥근 모서리가있는 UIButton입니다.
그러나 iOS 7에서는 Cell 내부의 모든 subView가 갑자기 (0,0,50,50) 프레임으로 축소되고 더 이상 내 자동 크기 조정 규칙을 따르지 않습니다.
이것이 iOS 8 SDK 또는 Swift 또는 Xcode의 버그라고 가정합니까?
업데이트 1 : 이 문제는 공식 Xcode 6.0.1에 여전히 존재합니다! 가장 좋은 해결 방법은 셀의 cellForItem에 프레임을 설정하여 아래에 제안한 KoCMoHaBTa와 같습니다 (하지만 셀을 하위 클래스로 분류해야 함). 이것은 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 **/