在上面的屏幕中,您可以看到我正在使用UIStackView
垂直填充单选按钮。问题是当我使用UIStackView
时,我的单选按钮未使用stackV.alignment = .leading
的整个宽度,它显示标签为“dis..lified”而不是取消资格。
UISTack查看代码
let ratingStackView : UIStackView = {
let stackV = UIStackView()
stackV.translatesAutoresizingMaskIntoConstraints = false
stackV.backgroundColor = UIColor.yellow
stackV.axis = .vertical
stackV.distribution = .fillEqually
stackV.alignment = .leading
return stackV
}()
UIStackView的布局
func setupView(){
view.addSubview(ratingStackView)
ratingStackView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor).isActive = true
ratingStackView.leadingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.leadingAnchor,constant: 8).isActive = true
ratingStackView.trailingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.trailingAnchor).isActive = true
ratingStackView.heightAnchor.constraint(equalToConstant: 200).isActive = true
//Add radio buttons to stackview
for ratingButton in ratingRadioButtons{
ratingStackView.addArrangedSubview(ratingButton)
}
}
我需要设置什么属性才能利用全宽,请告诉我我是Swift单选按钮的新手。我正在使用
DLRadioButton
。 最佳答案
要使此工作正常进行,您需要对布局进行以下更改:
1. 将UIStackView's
alignment
属性设置为fill
,即
stackV.alignment = .fill
2. 在
UIButton's
文件中或通过代码创建Horizontal Alignment
的任何位置,都将left
RadioButton
设置为.xib
。在
.xib
中,您可以在以下接口(interface)中找到该属性:如果要使用代码创建按钮,请使用以下代码行:
ratingButton.contentHorizontalAlignment = .left
让我知道您是否仍然面临这个问题。祝您编程愉快。🙂
关于ios - Swift UIStackView利用UIStackView的全宽,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49321128/