如何在屏幕下半部分的中心放置一个按钮
How to place a button at the center of the bottom half of the screen
我想创建一个 UIViewController
应该分成两个相等的(宽度和高度)部分。
最上面的应该包含 UIView
。底部应包含此部分中水平和垂直居中的按钮:
我通过将 UIView
对象的前导、尾随和垂直 space 设置为超级视图 0
将其放置在正确的位置。我通过为这个 UIView
及其超级视图设置 equal heights
并给它 2:1 乘数使其成为 0.5 倍屏幕大小,其中第一个值与超级视图相关,第二个值与指定的 UIView
.
但是如何将按钮放在屏幕下半部分的中央?
I'm using auto-layouts and size classes.
您可以使用对齐约束,例如在容器中水平对齐和在容器中垂直对齐。希望这有帮助。
假设您的按钮超级视图直接是您的 viewController:
- (void) viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
myButton = CGPointMake(myButton.superview.center.x, myButton.superview.frame.size.height * 3 / 4);
}
我建议您使用 2 个 UIView 而不是 1 个,即顶视图和底视图。
- 将两个
UIViews
的所有边固定为0,使高度相等。
- 比第二个
UIView
即底部视图将按钮设置为该视图的中心,并为按钮提供 中心 X 和中心 Y 约束以及高度和宽度 。
这些是您需要执行的步骤。
1. 选择您的 UIView,转到尺寸检查器。 X 和 Y 应等于 0。例如,宽度应为 600,高度应为 300。因此整个屏幕为 600 x 600。
2. Select 尺寸检查器仍处于选中状态的按钮。观察宽度和高度值。意识到 X 和 Y 是从按钮的左上角开始测量的。现在用整个屏幕的宽度减去按钮宽度的一半,也用屏幕的一半高度减去按钮高度的一半。将这些值输入到按钮位置的 x 和 y 值中。
即如果按钮是 50X100(宽高)你需要在 x= 300-50/2= 和 y= 450 -100/2=400
button.centerX = view.centerX
button.centerY = view.centerY*1.5
会给你想要的。您应该根据需要添加按钮的宽度和高度约束。
Swift 5 与 SnapKit
customView.snp.makeConstraints { (m) in
m.centerX.equalToSuperview()
m.centerY.equalToSuperview().multipliedBy(1.5)
}
我想创建一个 UIViewController
应该分成两个相等的(宽度和高度)部分。
最上面的应该包含 UIView
。底部应包含此部分中水平和垂直居中的按钮:
我通过将 UIView
对象的前导、尾随和垂直 space 设置为超级视图 0
将其放置在正确的位置。我通过为这个 UIView
及其超级视图设置 equal heights
并给它 2:1 乘数使其成为 0.5 倍屏幕大小,其中第一个值与超级视图相关,第二个值与指定的 UIView
.
但是如何将按钮放在屏幕下半部分的中央?
I'm using auto-layouts and size classes.
您可以使用对齐约束,例如在容器中水平对齐和在容器中垂直对齐。希望这有帮助。
假设您的按钮超级视图直接是您的 viewController:
- (void) viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
myButton = CGPointMake(myButton.superview.center.x, myButton.superview.frame.size.height * 3 / 4);
}
我建议您使用 2 个 UIView 而不是 1 个,即顶视图和底视图。
- 将两个
UIViews
的所有边固定为0,使高度相等。 - 比第二个
UIView
即底部视图将按钮设置为该视图的中心,并为按钮提供 中心 X 和中心 Y 约束以及高度和宽度 。
这些是您需要执行的步骤。 1. 选择您的 UIView,转到尺寸检查器。 X 和 Y 应等于 0。例如,宽度应为 600,高度应为 300。因此整个屏幕为 600 x 600。 2. Select 尺寸检查器仍处于选中状态的按钮。观察宽度和高度值。意识到 X 和 Y 是从按钮的左上角开始测量的。现在用整个屏幕的宽度减去按钮宽度的一半,也用屏幕的一半高度减去按钮高度的一半。将这些值输入到按钮位置的 x 和 y 值中。
即如果按钮是 50X100(宽高)你需要在 x= 300-50/2= 和 y= 450 -100/2=400
button.centerX = view.centerX
button.centerY = view.centerY*1.5
会给你想要的。您应该根据需要添加按钮的宽度和高度约束。
Swift 5 与 SnapKit
customView.snp.makeConstraints { (m) in
m.centerX.equalToSuperview()
m.centerY.equalToSuperview().multipliedBy(1.5)
}