Używając XCode 4.5 i iOS 6, tworzę aplikację z prostym widokiem tabeli z niestandardowymi komórkami. Robiłem to sto razy w iOS 5 i niższych, ale z jakiegoś powodu nowy system autoLayout sprawia mi wiele problemów.
Skonfigurowałem widok tabeli i prototypową komórkę w IB, dodałem podglądy i podłączyłem je jako IBOutlets, a następnie skonfigurowałem delegata i źródło danych. Jednak teraz za każdym razem, gdy pobierana jest pierwsza komórka, pojawia cellForRowAtIndexPath
się następujący błąd:
*** Błąd potwierdzenia w - [ShopCell layoutSublayersOfLayer:], /SourceCache/UIKit_Sim/UIKit-2372/UIView.m:5776
*** Zamykanie aplikacji z powodu nieprzechwyconego wyjątku „NSInternalInconsistencyException”, przyczyna: „Auto Layout nadal wymagane po wykonaniu -layoutSubviews. Wdrożenie -layoutSubviews przez ShopCell musi być super.
Nie zaimplementowałem metody -layoutSubviews w mojej komórce podklasowej (ShopCell), a nawet gdy próbuję to zrobić i dodać super wywołanie, jak sugeruje, nadal otrzymuję ten sam błąd. Jeśli usunę podglądy z komórki w IB i zmienię ją na standardowy UITableViewCell, wszystko działa zgodnie z oczekiwaniami, chociaż oczywiście nie mam żadnych danych w moich komórkach.
Jestem prawie pewien, że brakuje mi czegoś prostego, ale nie mogę znaleźć żadnej dokumentacji ani przewodników, które sugerowałyby, co zrobiłem źle. Każda pomoc będzie mile widziana.
Edycja: po prostu próbowałem zmienić go na UITableViewCell w IB i pozostawić wszystkie podglądy na miejscu, wciąż ten sam błąd.
lldb [[UIWindow keyWindow] _autoLayoutTrace]
w obszarze debuggera, jeśli używany jest układ automatyczny.