首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Swift UIStackView充分利用UIStackView的宽度

Swift UIStackView充分利用UIStackView的宽度
EN

Stack Overflow用户
提问于 2018-03-16 12:46:04
回答 3查看 13.1K关注 0票数 13

在上面的屏幕中,您可以看到我正在使用UIStackView垂直填充单选按钮。问题是我的单选按钮没有使用UIStackView的全部宽度,当我使用stackV.alignment = .leading时,它显示标签为"dis..lified“而不是不合格。

UISTackView码

代码语言:javascript
运行
复制
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布局

代码语言:javascript
运行
复制
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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-03-18 17:11:07

要使此工作正常进行,您需要在布局中进行以下更改:

1.UIStackView's alignment属性设置为fill,即

代码语言:javascript
运行
复制
stackV.alignment = .fill

2.UIButton's Horizontal Alignment设置为left,无论您在.xib文件中还是通过代码创建RadioButton

.xib中,您可以在以下界面中找到该属性:

如果使用代码创建按钮,请使用以下代码行:

代码语言:javascript
运行
复制
ratingButton.contentHorizontalAlignment = .left

如果你还在面对这个问题,请告诉我。快乐编码..。

票数 25
EN

Stack Overflow用户

发布于 2018-03-16 13:11:22

保留alignment的默认值,即.fill --这样可以在与堆栈轴垂直的方向上拉伸排列好的视图。

实际上,我怀疑如果您使用的是.leading对齐,并且没有指定嵌套控件的宽度,那么在运行时您将得到自动布局警告(可以在Xcode中的Visual中检查)。

票数 4
EN

Stack Overflow用户

发布于 2018-03-18 12:18:30

尝试按比例分配。

还有一件事要try...Reduce,那就是内容拥抱标签的优先级。

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

https://stackoverflow.com/questions/49321128

复制
相关文章

相似问题

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