Ich entwickle eine App für iOS und verwende das Storyboard mit aktiviertem AutoLayout. Einer meiner View Controller hat einen Satz von 4 Tasten, und unter bestimmten Umständen möchte ich die erste verschwinden lassen.
Wenn ich die setHidden:TRUE
Methode verwende, wird der UIButton unsichtbar, nimmt aber offensichtlich immer noch Platz in der Ansicht ein, und das Ergebnis ist ein "Loch", das ich nicht füllen konnte, sodass der verbleibende UIButton zum oberen Rand der Hauptansicht schwebt.
In Android mich einfach hätte verwendet View.GONE
statt View.INVISIBLE
, aber in iOS Ich bin fest mit diesem Verhalten , und ich will nicht glauben , dass die einzige Lösung ist , um manuell (ja , ich meine , programmatisch) bewegen , um die verbleibenden Elemente nach oben.
Ich dachte, ich hätte es geschafft, eine Art Einschränkung festzulegen, um alles so automatisch wie in Android zu machen, aber ich hatte kein Glück.
Kann mich jemand in die richtige Richtung weisen, bevor ich Autolayout ausschalte?
Ich benutze den IB, aber ich bin auch mit programmatischen Dingen vertraut.
AKTUALISIEREN:
Das Setzen der Komponentenhöhe auf 0 hilft ebenfalls nicht.
Ich habe so etwas versucht:
UIButton *b;
CGRect frameRect = b.frame;
frameRect.size.height = 0;
b.frame = frameRect;