Estou usando o Xcode 6 Beta 3, iOS 8 SDK. Crie o iOS 7.0 de destino usando o Swift. Consulte o meu problema passo a passo com as capturas de tela abaixo.
Eu tenho um UICollectionView no Storyboard. 1 protótipo UICollectionViewCell que contém 1 rótulo no centro (sem regra de redimensionamento automático). O fundo roxo era para marcar um contentView que é gerado em tempo de execução pela célula, eu acho. Essa visualização será redimensionada adequadamente com base no meu UICollectionViewLayoutDelegate eventualmente, mas não no iOS 7. Observe que estou usando o Xcode 6 e o problema só acontece no iOS 7.
Quando crio o aplicativo no iOS 8. Tudo está bem.
Nota: Roxo é o contentView , Azul é meu UIButton com canto arredondado.
No entanto, no iOS 7, todos os subViews dentro da célula diminuem repentinamente para o quadro de (0,0,50,50) e nunca mais estão em conformidade com minha regra de redimensionamento automático.
Presumo que este seja um erro no iOS 8 SDK ou Swift ou talvez no Xcode?
Atualização 1: Esse problema ainda existe no Xcode 6.0.1 oficial! A melhor solução é como o que o KoCMoHaBTa sugeriu abaixo, definindo o quadro em cellForItem da célula (você precisa subclassificar sua célula). Descobriu-se que esta é uma incompatibilidade entre o iOS 8 SDK e o iOS 7 (verifique a resposta da ecotax abaixo citada pela Apple).
Atualização 2: cole este código no início do seu cellForItem e tudo ficará bem:
/** 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 **/
contentView
redimensionamento da célula funciona bem para solucionar o problema. Eu acho que no iOS 8 a Apple mudou algo sobre a maneira como as visualizações de conteúdo da célula são tratadas quando criadas no Interface Builder (que ainda é uma caixa preta). Mas o fato de alterar o comportamento ao segmentar o iOS 7 é certamente um bug.
contentView
bordas nas bordas da célula.