gpt4 book ai didi

iOS:自动布局与 autoresizingMask - 调整整个 View 的大小以填充?

转载 作者:可可西里 更新时间:2023-11-01 03:40:04 24 4
gpt4 key购买 nike

我有一个使用自动布局构建的 Storyboard。在该 Storyboard中,我在多个位置嵌入了一个 UIViewController 子类 (ButtonGridViewController),每个位置的大小都不同。 ButtonGridViewController 的 View 在 xib 中定义。

我需要的是让 ButtonGridViewController 的整个 View 简单地缩放以填充我嵌入它的 View 。使用旧的 struts-and-springs 方法,这个很简单——只需将所有 subview 设置为在两个方向上调整大小,瞧,小菜一碟。

如何使用约束来完成同样的事情?对于它的值(value),xib 只包含一个主视图,它是矩形的,并且有 4 个 subview - 每个一个按钮 - 排列在 2x2 网格中。我想要一切,包括按钮和间距,缩放和/或拉伸(stretch)以填充它进入的 View 。

谢谢!

最佳答案

要使用约束完成同样的事情,您需要将父 View 的前导、尾随、顶部和底部空间设置为 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:自动布局与 autoresizingMask - 调整整个 View 的大小以填充?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14737718/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com