Powinieneś użyć autolayout. W przeciwnym razie jest to koszmar z nowymi rozmiarami ekranu.
Dzięki autolayout możesz zrobić to, o co programujesz: ustaw przyciski z pewnymi ograniczeniami, a kiedy zdecydujesz się ukryć przycisk usuń ograniczenia, które nie są potrzebne. Jest elastyczny i potężny, ale nie jest najprostszym sposobem dla początkujących.
Jeden prosty sposób to zrobić z dodatkowymi ograniczeniami.Na przykład, jeśli masz przyciski 1, 2 i 3 (patrz zrzut ekranu) i planują przycisk 2, aby usunąć, można dodać dodatkowe wiązanie pomiędzy 3 i 1:
To ograniczający powinien mieć mniej priorytet (250 w moim przykładzie) niż inne (domyślnie 1000). Oznacza to, że ograniczenie nie zostanie zastosowane, gdy przycisk 2 jest na miejscu (z ograniczeniami o wyższym priorytecie).
Następnie należy usunąć przycisk, zamiast go ukrywać.
[self.button removeFromSuperview];
Po ukryciu przycisku nadal brany pod uwagę układ układu do podejmowania decyzji, a układ jest bardziej złożony. Jeśli chcesz zachować przycisk wokół upewnij się, że używa on modyfikatora strong
w deklaracji właściwości.
Świetne rozwiązanie, ale uwaga: jeśli planujesz uczynić go widocznym ponownie ('superview.addSubview (button)') to nie działa. Stracisz swoje ograniczenia. –