2012-04-12 5 views
1

Ich entferne alle "roten Gummibänder" in IB und finde die quadratische UIView genau in der Mitte. Es springt nicht, wenn zwischen Quer- und Hochformat gewechselt wird. Wenn ich das gleiche in meinem Code mitSquare uiview, die ich in IB hinzufüge, springt nicht, während das Gerät gedreht wird - wie man dasselbe im Code wiederholt?

erstellen myView.autoresizingMask = UIViewAutoresizingNone; (Void) didRotateFromInterfaceOrientation -

und in

notwendigen Rahmen Anpassungen vornehmen: (UIInterfaceOrientation) fromInterfaceOrientation

springt es an die neue Position.

Wo ist ein Trick?

Antwort

3

Die Logik von IB unterscheidet sich ein wenig von der, die Sie durch Code machen. Nun, es ist sicherlich möglich, dasselbe in Code zu tun, aber IB nimmt Dinge aus einem anderen Blickwinkel.

Wenn das, was Sie eigentlich wollen, das gleiche ist, das IB ergibt, wenn Sie ALLE Federn deaktivieren, dann möchten Sie tatsächlich die folgende Kombination verwenden.

UIViewAutoresizingFlexibleRightMargin | 
UIViewAutoresizingFlexibleLeftMargin | 
UIViewAutoresizingFlexibleTopMargin | 
UIViewAutoresizingFlexibleBottomMargin 

gleich

enter image description here

+1

Thank you! Es klappt. Es ist wirklich anders als IB-Logik. – Michael

Verwandte Themen