In Xcode 6 Beta 7 and all versions before it, I had a collection view that would update its constraints on its cells when an iPad would rotate between landscape and portrait. No
You need to make a subclass of UICollectionViewCell and make that subclass as the superclass of ALL of your cells.
Example:
@interface MDTCollectionViewCell : UICollectionViewCell
@end
@implementation MDTCollectionViewCell
- (void)setBounds:(CGRect)bounds {
[super setBounds:bounds];
self.contentView.frame = bounds;
}
@end
in my UICollectionViewCell class I added
override func layoutSubviews() {
contentView.frame = bounds
super.layoutSubviews()
}
and I used this code to refresh
dispatch_async(dispatch_get_main_queue(), { () -> Void in
// in this case vController is UICollectionView
self.vController.reloadData()
self.vController.layoutSubviews()
})
The workaround I have come up with is to use the 8.0 simulator for testing in the sim, and build the deployable using Xcode Beta 7. When I build using Beta 7, the app runs without this issue on devices using iOS 7. However, this does not help anyone that is deploying to the app store, so I apologize if this workaround does not work for your situation.
Override the custom cell's layoutSubviews
as a temporary fix:
override func layoutSubviews() {
contentView.frame = bounds
super.layoutSubviews()
}