Aktualnie pracuję nad aplikacją do nauki programowania iOS i Swift. Mam widok, który zawiera dwa główne widoki, MKMapView i UITableView. Kiedy wybrana jest pewna adnotacja w MapView, chcę, aby pewne komórki w TableView były ukryte. Jeśli zaznaczenie nie jest zaznaczone, komórki powinny się ponownie pojawić. Obecnie robię to, ustawiając wysokość komórek do ukrycia na 0 i wywołując tableView.beginUpdates()
tableView.endUpdates()
, jednak powoduje to przerywanie wszystkich rodzajów ograniczeń AutoLayout wewnątrz moich komórek niestandardowych. Próbowałem również ustawić właściwość ukrytą w komórce na wartość true przed ustawieniem wysokości na 0, ale więzy AutoLayout nadal są łamane.Jak ukryć UITableViewCells, nie naruszając ograniczeń AutoLayout
Jaki byłby właściwy sposób, aby to zrobić?
Z góry dziękuję.
To dobry sposób przechowywania dwóch różnych tablic jako źródła danych widoku tabeli. Pierwsze mają wszystkie dane, które można wyświetlić. Drugi jest prawdziwym źródłem danych tablicy widoku tabeli. Po kliknięciu adnotacji można odnowić drugą tablicę (wstawiając lub usuwając dane, które muszą być lub nie są wyświetlane), pobierając dane z pierwszej tablicy. Widok tabeli zostanie ponownie załadowany dopiero na końcu. –
W ten sposób zaimplementowałem na początku mój ViewController, ale nie mogłem dowiedzieć się, jak mogę animować znikanie komórek podczas aktualizacji drugiej tablicy. Jestem otwarty na sugestie, w jaki sposób mogę animować tę zmianę. –