Wenn Sie die Rotation nicht unterstützen möchten, können Sie ein festes Layout erstellen, da sich die Bildschirmgröße während der Laufzeit nicht ändert. In diesem Fall platzieren Sie einfach die obere Ansicht in der oberen, unteren Ansicht in View.Bounds.Height - requiredBottomViewHeight und die mittlere Ansicht machen so hoch wie die Elternansicht minus die Summe der Höhen von unten und oben.
Wenn Sie Drehung, entweder mit:
- AutoResizingMask
- Aufschalten layoutSubviews()
- oder Auto-Layout. Um das automatische Layout zu vereinfachen, gibt es eine große Hilfsklasse von Frank Krueger named EasyLayout. Sie finden Beispiele here.
Der empfohlene Weg, um es in diesen Tagen zu tun, ist die Verwendung von Auto-Layout und Einschränkungen. In diesem einfachen Fall können Sie jedoch automatisch Größenänderungsmasken verwenden. Der folgende Code generiert das gewünschte Layout und unterstützt auch die Rotation. Sie können den gleichen Effekt im Storyboard-Designer oder im Interface Builder erzeugen, indem Sie die Masken zur automatischen Größenänderung wie unten gezeigt einstellen.
public override void ViewDidLoad()
{
var topView = new UIView {
BackgroundColor = UIColor.Red,
Frame = new RectangleF(0, 0, this.View.Bounds.Width, 50),
AutoresizingMask = UIViewAutoresizing.FlexibleWidth
};
var bottomView = new UIView {
BackgroundColor = UIColor.Blue,
Frame = new RectangleF(0, this.View.Bounds.Height - 50, 320, 50),
AutoresizingMask = UIViewAutoresizing.FlexibleTopMargin | UIViewAutoresizing.FlexibleWidth
};
var middleView = new UIView {
Frame = new RectangleF(0, topView.Frame.Bottom, this.View.Bounds.Width, this.View.Bounds.Height - topView.Bounds.Height - bottomView.Bounds.Height),
BackgroundColor = UIColor.Green,
AutoresizingMask = UIViewAutoresizing.FlexibleHeight | UIViewAutoresizing.FlexibleWidth
};
this.View.AddSubviews (topView, middleView, bottomView);
}
Verwenden Sie automatische Layouts? dann kannst du diesen Ausdruck benutzen: V: | [topview (100)] [middleview] [bottomview (100)] | Für weitere Informationen: https://developer.apple.com/library/ios/documentation/userexperience/conceptual/AutolayoutPG/Introduction/Introduction.html –