Tworzę aplikację na iOS i używam Storyboard z włączoną funkcją AutoLayout. Jeden z moich kontrolerów widoku ma zestaw 4 przycisków iw pewnych okolicznościach chciałbym, aby pierwszy z nich zniknął.
Jeśli setHidden:TRUE
użyję tej metody, przycisk UIButton stanie się niewidoczny, ale nadal oczywiście zajmie miejsce w widoku, a wynikiem jest „dziura”, której nie byłem w stanie wypełnić, powodując, że pozostały przycisk UIButton unosi się w kierunku górnej części widoku głównego.
W Androidzie użyłbym po prostu View.GONE
zamiast tego View.INVISIBLE
, ale w iOS utknąłem z tym zachowaniem i nie chcę wierzyć, że jedynym rozwiązaniem jest ręczne (tak mam na myśli programowo) przesunięcie pozostałych elementów na górę.
Pomyślałem, że byłbym w stanie to zrobić, ustawiając jakieś ograniczenie, aby wszystko było tak automatyczne, jak w Androidzie, ale nie miałem szczęścia.
Czy ktoś może wskazać mi właściwy kierunek, zanim wyłączę Autolayout?
Używam IB, ale nie przeszkadza mi też programowanie.
AKTUALIZACJA:
Ustawienie wysokości komponentu na 0 też nie pomaga.
Próbowałem czegoś takiego:
UIButton *b;
CGRect frameRect = b.frame;
frameRect.size.height = 0;
b.frame = frameRect;