【问题标题】:Button Autolayout programmatically?以编程方式按钮自动布局?
【发布时间】:2020-10-01 19:25:54
【问题描述】:

大家好,我想将我的 Button 放在屏幕下方,但我没有得到正确的代码。按钮太小,太大,在右角或左角,...但它应该在下方屏幕的中间。

我用这些代码试了一下:

nextButton.translatesAutoresizingMaskIntoConstraints = false
        
        nextButton.centerXAnchor.constraint(equalTo: view.centerXAnchor)
        nextButton.centerYAnchor.constraint(equalTo: view.centerYAnchor)
        nextButton.widthAnchor.constraint(equalTo: view.widthAnchor, constant: 97)
        nextButton.heightAnchor.constraint(equalTo: view.heightAnchor, constant: 50)

backButton.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 20).isActive = true
       backButton.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -20).isActive = true
       backButton.heightAnchor.constraint(equalToConstant: 50).isActive = true
       backButton.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true
        

有人能告诉我该怎么做才能让它工作吗?我认为使用 topAnchor 会很容易:(

【问题讨论】:

    标签: swift uibutton autolayout constraints


    【解决方案1】:

    这会将它定位在屏幕的底部中心

    nextButton.translatesAutoresizingMaskIntoConstraints = false
        
    NSLayoutConstraint.activate([
        nextButton.centerXAnchor.constraint(equalTo: view.centerXAnchor),
        nextButton.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant:-20),
        nextButton.widthAnchor.constraint(equalToConstant: 50),
        nextButton.heightAnchor.constraint(equalToConstant: 50) 
    ])
    

    【讨论】:

      【解决方案2】:

      问题是您使用的是 centerYAnchor 而不是 bottomAnchor

      替换

      nextButton.centerYAnchor.constraint(equalTo: view.centerYAnchor)
      

      let spacingConstant = 10.0
      nextButton.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: -spacingConstant)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-07-25
        • 1970-01-01
        • 2012-09-29
        • 1970-01-01
        • 1970-01-01
        • 2014-08-27
        • 2016-03-16
        • 2015-09-12
        相关资源
        最近更新 更多