【发布时间】:2016-09-22 10:45:50
【问题描述】:
好的,我在 .swift 故事板中添加了一个按钮,然后我将以下代码添加到我的 ViewController.swift 中
@IBOutlet weak var HelloButton: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
HelloButton.frame.origin.x = view.frame.size.width / 2
}
但是,当我在 iPhone 5s 上对其进行测试时,它会将其移动到屏幕右侧并且不会使其居中。我不确定我需要做什么才能使按钮居中。
是的,这是我的第一个 helloWorld 应用程序,可能超出了我的想象,但我了解 Web 编程,并且我知道要使其自动居中,我需要设置屏幕视图总宽度和按钮宽度。然后我需要对按钮说将屏幕视图宽度除以 2。
例如在 CSS 中我们这样做
#button{margin:0 auto;}
但这不是 HTML 或 CSS。它是 SWIFT3
【问题讨论】:
-
如果您使用的是故事板,那么您应该在界面生成器中添加约束;水平居中和垂直居中。如果您使用自动布局,则无法修改框架。
-
尝试移动到 viewWillAppear 或者可能更好,viewWillLayoutSubviews。在 viewDidLoad 期间,帧并不总是设置和正确的。