UIViewAutoResizingMasks bezeichnen wir als "Streben" und "Federn". Bedenken Sie Folgendes: Sie haben ein großes Quadrat mit einem kleinen Quadrat im Inneren. Damit das Quadrat perfekt zentriert bleibt, müssen Sie an jeder Innenkante des großen Quadrats eine feste Breite festlegen, um es zu beschränken. Dies sind Streben.
Federn arbeiten dagegen eher wie eine UIView während der Rotation. Nehmen wir an, unsere Ansicht muss unten auf dem Bildschirm bleiben und in der Mitte ausgerichtet sein (ähnlich wie eine UIToolbar). Wir möchten, dass die Top-Feder flexibel bleibt, damit sich die Ansicht von 460 px auf 320 px dreht und die Position relativ zu den jetzt geänderten Dimensionen beibehalten wird. Die Hervorhebung einer dieser Federn in IB entspricht der Einstellung der entsprechenden UIViewAutoResizingMask, und die Hervorhebung der oberen Feder ist dem Aufruf von myView.autoResizingMask = UIViewAutoresizingFlexibleTopMargin
ähnlich.
Werte im Tandem kann sie durch Einschließen in einem Paar von Klammern und mit wie myView.autoResizingMask = (UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleLeftMargin)
Die Masken berichten Zahlen Sie ein oder Operator verwendet werden, da sie eine typdef eines NSUInteger sind und das sind die Fahnen, die Apple hat sie zugewiesen. Cmd + Klicken Sie auf einen, um seine Methodendefinition zu sehen.
@Flink - Ihre Bearbeitung ist falsch. Ich habe meine Antwort wieder auf den ursprünglichen Zustand zurückgesetzt. Bitte lesen Sie es sorgfältig, vor allem: "Struts werden durch das Fehlen einer der vier 'flexiblen Rand' Masken dargestellt (dh wenn eine Strebe nicht existiert, wird die Maske für diesen Rand angegeben):" – MattyG
Sorry, mein Fehler. .. – Shmidt
sehr hilfreich, danke – kukudas