首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIScrollview内部的UIStackView

UIScrollview内部的UIStackView
EN

Stack Overflow用户
提问于 2016-07-25 22:14:56
回答 1查看 598关注 0票数 0

我已经添加了UIScrollView,在故事板中添加了UIStackView。我试图在父UIStackView中动态添加有两个UILabels的UIStackView,虽然我给出子视图的高度,但它占用了父UIStackView的所有空间,我该如何解决这一点或任何其他方法来实现这一点?

我的代码是

代码语言:javascript
复制
func createSummaryView()
{
    let labelSummary:UILabel = UILabel(frame: CGRectZero)
    labelSummary.text = "Summary"
    labelSummary.heightAnchor.constraintEqualToConstant(30).active = true


    let summaryparentView:UIStackView = UIStackView(frame: CGRectZero)
    summaryparentView.axis = .Vertical
    summaryparentView.alignment = .Leading
    summaryparentView.spacing = 1
    let summaryViewWidth = width!-50
    summaryparentView.heightAnchor.constraintEqualToConstant(180).active = true
    //summaryparentView.heightAnchor.constraintEqualToAnchor(summaryparentView.heightAnchor, multiplier: 2).active = true
    summaryparentView.addArrangedSubview(labelSummary)

    for _ in 1...5
    {
        let viewParent:UIStackView = UIStackView(frame: CGRectZero)
        viewParent.axis = .Horizontal
        viewParent.widthAnchor.constraintEqualToConstant(summaryViewWidth).active = true
        viewParent.heightAnchor.constraintEqualToConstant(30).active = true
        viewParent.distribution = .FillEqually

        let labelTitle:UILabel = UILabel()
        let labelValue:UILabel = UILabel()
        print("summary view width \(summaryViewWidth)")

        labelTitle.text = "BUILD"
        labelValue.text = "2012"
        viewParent.addArrangedSubview(labelTitle)
        viewParent.addArrangedSubview(labelValue)

        summaryparentView.addArrangedSubview(viewParent)
        summaryparentView.translatesAutoresizingMaskIntoConstraints = false
    }

    stackViewVertical.layoutMarginsRelativeArrangement = true
    stackViewVertical.addArrangedSubview(summaryparentView)
    stackViewVertical.translatesAutoresizingMaskIntoConstraints = false
}

其中宽度为width = stackViewVertical.frame.size.width

EN

回答 1

Stack Overflow用户

发布于 2016-12-21 03:48:48

也许这个库可以帮助你:https://github.com/gurhub/ScrollableStackView

它是Objective-C和Swift兼容的。

Swift示例代码()

代码语言:javascript
复制
import ScrollableStackView

var scrollable = ScrollableStackView(frame: view.frame)
view.addSubview(scrollable)

// add your views with 
let rectangle = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 55))
rectangle.backgroundColor = UIColor.blue
scrollable.stackView.addArrangedSubview(rectangle)
// ...

示例代码(Objective-C)

代码语言:javascript
复制
@import ScrollableStackView

ScrollableStackView *scrollable = [[ScrollableStackView alloc] initWithFrame:self.view.frame];
scrollable.stackView.distribution = UIStackViewDistributionFillProportionally;
scrollable.stackView.alignment = UIStackViewAlignmentCenter;
scrollable.stackView.axis = UILayoutConstraintAxisVertical;
[self.view addSubview:scrollable];

UIView *rectangle = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 55)];
[rectangle setBackgroundColor:[UIColor blueColor]];

// add your views with
[scrollable.stackView addArrangedSubview:rectangle]; 
// ...
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38570147

复制
相关文章

相似问题

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