首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swift3中心UIbutton

Swift3中心UIbutton
EN

Stack Overflow用户
提问于 2016-09-22 10:45:50
回答 4查看 2.5K关注 0票数 0

好的,我在.swift情节提要中添加了一个按钮,然后我将以下代码添加到我的ViewController.swift中

代码语言:javascript
复制
 @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 5上测试它时,它会将它移到屏幕的右边,而不会使它居中。我不知道该怎么做才能使按钮居中。

是的,这是我的第一个helloWorld应用程序,也许在我的头上,但我了解网页编程,我理解使它自动中心,我需要有屏幕视图的宽度总和和按钮的宽度。然后,我需要对按钮说,将屏幕视图宽度除以2。

例如,在CSS中,我们这样做

代码语言:javascript
复制
#button{margin:0 auto;}

但这不是HTML或CSS。是SWIFT3

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-09-22 10:48:34

试试这个:

代码语言:javascript
复制
    HelloButton.center.x = view.frame.width/2

您的不正确,因为origin.x是按钮视图的第一点(左上角),而不是视图的中心,您可以将它的背景色更改为不同的颜色来查看它

另外,变量名应该是lowerCase,然后是代码约定

票数 2
EN

Stack Overflow用户

发布于 2016-09-22 14:36:37

您应该使用Main.storyboard:中的Autolayout来完成所需的任务,您的操作方式类似于在中的ViewController (控件+鼠标左键 ->拖动蓝线向上,然后释放控件鼠标左击E 211,您将看到E 112弹出E 213/code>)。

在弹出窗口中选择以下选项:

  • 集装箱水平中心
  • 在集装箱中垂直中心

但是,如果要以编程方式执行,请使用viewWillLayoutSubviews方法执行:

代码语言:javascript
复制
class ViewController: UIViewController {

  @IBOutlet weak var button: UIButton!

  override func viewWillLayoutSubviews() {
    super. viewWillLayoutSubviews()

    button.center = view.center
  }

}
票数 2
EN

Stack Overflow用户

发布于 2016-09-22 11:45:25

在您的项目中启用了Autolayout吗?如果启用了自动布局,那么在viewdidLoad中更改UI :可能不会给出适当的结果。使用-viewWillLayoutSubviews方法执行用户界面任务,它将使您的按钮居中

代码语言:javascript
复制
myButton.center = self.view.center 

希望它能成功。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39636933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档