Usando XCode 4.5 y iOS 6, estoy desarrollando una aplicación con una vista de tabla simple con celdas personalizadas. He hecho esto cientos de veces en iOS 5 y versiones anteriores, pero por alguna razón el nuevo sistema de autoLayout me está dando muchos problemas.
Configuré mi vista de tabla y celda de prototipo en IB, agregué subvistas y las conecté como IBOutlets, luego configuré mi delegado y fuente de datos. Sin embargo, ahora, cada vez que se obtiene la primera celda, aparece cellForRowAtIndexPath
el siguiente error:
*** Error de afirmación en - [ShopCell layoutSublayersOfLayer:], /SourceCache/UIKit_Sim/UIKit-2372/UIView.m:5776
*** Finalizando la aplicación debido a la excepción no detectada 'NSInternalInconsistencyException', motivo: 'El diseño automático sigue siendo necesario después de ejecutar -layoutSubviews. La implementación de ShopCell de -layoutSubviews necesita llamar a super. '
No he implementado un método -layoutSubviews en mi celda de subclases (ShopCell), e incluso cuando trato de hacer eso y agrego la super llamada, ya que sugiere que todavía obtengo el mismo error. Si elimino las subvistas de la celda en IB y las cambio a una UITableViewCell estándar, todo funciona como se esperaba, aunque, por supuesto, no tengo datos en mis celdas.
Estoy casi seguro de que me falta algo simple, pero no puedo encontrar ninguna documentación o guía que sugiera lo que hice mal. Cualquier ayuda sería apreciada.
Editar: Intenté cambiarlo a UITableViewCell en IB y dejar todas las subvistas en su lugar, sigue siendo el mismo error.
lldb [[UIWindow keyWindow] _autoLayoutTrace]
en el área del depurador si se utiliza el diseño automático.