iOS版:自动布局VS autoresizingMask - 调整整体视图,以填补?(iOS: A

2019-08-16 18:55发布

我有这是使用自动布局建立了一个故事板。 在这一故事板,我嵌入UIViewController子类( ButtonGridViewController在几个地点),每一个都是不同的大小。 ButtonGridViewController的观点是在XIB所定义。

我需要的是对整体ButtonGridViewController的观点简单地扩展到填补我将它嵌入在观与旧的支柱-和-弹簧方法,这是微不足道的-刚刚成立的所有子视图调整大小在两个方向上,瞧,一块蛋糕。

如何做到使用约束是一回事吗? 对于它的价值,在厦门国际银行只包含一个主视图,为矩形,并有4子视图 - 每一个按钮 - 排列在一个2x2格。 我想要的一切,包括按键和间距,缩放和/或拉伸,以填补它会到视图中。

谢谢!

Answer 1:

为了完成你需要设置前置,顶部和底部的空间给上海华盈为0。见下同使用的东西的限制:

//load the ButtonGridViewController from a xib
[[NSBundle mainBundle] loadNibNamed:@"..." owner:self options:nil];

//get the view add it
[self.view addSubView:self.myGridView];

//turn off springs and struts
[self.view setTranslatesAutoresizingMaskIntoConstraints:NO];

//add constraints to fill parent view
NSArray *arr;

//horizontal constraints
arr = [NSLayoutConstraint constraintsWithVisualFormat:@"|[vw]|"
                                                options:0
                                                metrics:nil
                                              views:@{@"vw":self.myGridView}];
[self.view addConstraints:arr];

//vertical constraints
arr = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|[vw]|"
                                                options:0
                                                metrics:nil
                                                  views:@{@"vw":self.myGridView}];
[self.view addConstraints:arr];


文章来源: iOS: Auto Layout vs autoresizingMask - resizing whole view to fill?