我想创建一个UIViewController
,应该将其分成两个相等的(在宽度和高度上)部分。
[最上面的应该包含UIView
。底部的按钮应包含在此部分中水平和垂直居中的按钮:
我通过将其UIView
对象的前,后和垂直空间设置为0
,将其放置在正确的位置。我通过为此equal heights
及其超级视图设置UIView
来使其尺寸为屏幕尺寸的0.5倍,并将其与2:2乘数相乘,其中第一个值与超级视图相关,第二个值与指定的UIView
相关。
但是如何将按钮放置在屏幕下半部分的中央?
我正在使用自动布局和尺寸类别。
我建议您采用2个UIView代替1个,即顶视图和底视图。
UIViews
的所有边都固定为0,使其高度相等。 UIView
大,即底视图将按钮设置为该视图的中心,并给中心X和中心Y约束以及按钮的高度和宽度。 button.centerX = view.centerX
button.centerY = view.centerY*1.5
将给您您想要的。您应该根据需要添加按钮的宽度和高度限制。
假设您的按钮超级视图直接是您的viewController:
- (void) viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
myButton = CGPointMake(myButton.superview.center.x, myButton.superview.frame.size.height * 3 / 4);
}
您可以使用对齐约束,例如在容器中为“水平”和在容器中为“垂直”。希望这会有所帮助。
这些是您需要执行的步骤。1.选择您的UIView进入尺寸检查器。对于X和Y应该等于0。例如,宽度应该为600,高度应该为300。因此整个屏幕为600 x 600。2.选择尺寸检查器仍处于选中状态的按钮。观察宽度和高度值。意识到X和Y是从按钮的左上角测量的。现在,将整个屏幕的宽度减去按钮的一半宽度,将一半的屏幕高度减去按钮的一半高度。将这些值输入到按钮x和y值的位置。
即如果按钮是50X100(宽度乘以高度),则需要x = 300-50 / 2 =和y = 450 -100 / 2 = 400
Swift 5和SnapKit
customView.snp.makeConstraints { (m) in
m.centerX.equalToSuperview()
m.centerY.equalToSuperview().multipliedBy(1.5)
}