以编程方式自动布局按钮?

时间:2020-10-01 19:25:54

标签: swift uibutton autolayout constraints

大家好,我想将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真的很容易:(

2 个答案:

答案 0 :(得分:2)

这会将其放置在屏幕的底部中心

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) 
])

答案 1 :(得分:2)

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

替换

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

使用

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