Usando o XCode 4.5 e iOS 6, estou desenvolvendo um aplicativo com uma visualização de tabela simples com células personalizadas. Já fiz isso centenas de vezes no iOS 5 e inferior, mas por algum motivo o novo sistema autoLayout está me dando muitos problemas.
Eu configurei minha visualização de tabela e célula de protótipo em IB, adicionei subvisualizações e conectei-as como IBOutlets, em seguida, configurei meu delegado e fonte de dados. No entanto, agora, sempre que a primeira célula é buscada cellForRowAtIndexPath
, recebo o seguinte erro:
*** Falha de declaração em - [ShopCell layoutSublayersOfLayer:], /SourceCache/UIKit_Sim/UIKit-2372/UIView.m:5776
*** Encerrando o aplicativo devido à exceção não detectada 'NSInternalInconsistencyException', motivo: 'Layout automático ainda necessário após a execução de -layoutSubviews. A implementação de -layoutSubviews da ShopCell precisa chamar super. '
Não implementei um método -layoutSubviews em minha célula com subclasse (ShopCell) e, mesmo quando tento fazer isso e adicionar a super chamada, como sugere, ainda recebo o mesmo erro. Se eu remover as subvisualizações da célula em IB e alterá-las para um UITableViewCell padrão, tudo funcionará conforme o esperado, embora, é claro, fique sem dados em minhas células.
Tenho quase certeza de que está faltando algo simples, mas não consigo encontrar nenhuma documentação ou guia que sugira o que fiz de errado. Qualquer ajuda seria apreciada.
Edit: Apenas tentei alterá-lo para um UITableViewCell em IB e deixar todas as subvisualizações no lugar, ainda o mesmo erro.
lldb [[UIWindow keyWindow] _autoLayoutTrace]
na área do depurador se o layout automático for usado.