好的,我已经在.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应用程序,也许是我的头脑,但我理解网络编程,我理解为使其自动中心我需要有屏幕视图宽度总和按钮宽度。然后,我需要按下按钮,将屏幕视图宽度除以2.
例如在CSS中我们这样做
#button{margin:0 auto;}
但这不是HTML或CSS。 IT' SWIFT3
答案 0 :(得分:2)
试试这个:
HelloButton.center.x = view.frame.width/2
你的不正确是因为origin.x
是按钮视图的第一个点(左上角),而不是视图的中心,你可以将它的背景颜色改为不同的颜色来看它
此外,变量名称应为lowerCase,后跟代码约定
答案 1 :(得分:2)
您应该使用 Autolayout 来完成您想要的内容,并且您在 Main.storyboard 内的ViewController中执行以下操作: control +鼠标左键单击 - >向上拖动蓝线,然后释放控件和鼠标左键单击,您将看到弹出)
在弹出窗口中选择选项:
但如果您想以编程方式执行此操作,请在 viewWillLayoutSubviews 方法中执行此操作:
class ViewController: UIViewController {
@IBOutlet weak var button: UIButton!
override func viewWillLayoutSubviews() {
super. viewWillLayoutSubviews()
button.center = view.center
}
}
答案 2 :(得分:0)
在您的项目中启用了Autolayout?如果启用了自动布局,则在viewdidLoad中更改UI:可能无法提供适当的结果。使用-viewWillLayoutSubviews方法来执行UI任务,你想要按下按钮
myButton.center = self.view.center
希望它会奏效。
答案 3 :(得分:0)
以实际视图显示的方式将代码添加到viewDidAppear
。此外,如果您想将其置于中心位置,则应使用button.center.x
代替button.frame.origin.x