gpt4 book ai didi

swift - 如何使用 PureLayout 将标签分开

转载 作者:行者123 更新时间:2023-11-30 11:30:45 25 4
gpt4 key购买 nike

我在让 PureLayout 与我放入 View 中并尝试彼此间隔开的 UILabel 一起使用时遇到一些问题

我有一个标签,该标签与 View 顶部和 View 左侧间隔一定的边距。然后我有一个辅助标签,它也应该与 View 左侧留有一些边距,然后与第一个标签的底部留出相同的边距

autoPinEdge 似乎想要 UIView 来引用绑定(bind),而 UILabel 显然不是 UIView所以我想弄清楚如何让它发挥作用

我的第一个想法是创建新 View 来保存标签,这样我就可以引用 View 来获取坐标等,但它们现在没有出现在 View 中,这是基本设置

placeTitleLabelView = UIView(frame: CGRect.zero)
placeTitleLabel = UILabel(frame: CGRect.zero)
placeTitleLabel.textColor = UIColor.white
placeTitleLabel.font = UIFont(name: "Helvetica", size: 25)

placeTitleLabelView.addSubview(placeTitleLabel)
scrollView.addSubview(placeTitleLabelView)

placeDistanceLabelView = UIView(frame: CGRect.zero)
placeDistanceLabel = UILabel(frame: CGRect.zero)
placeDistanceLabel.textColor = UIColor(red: 1, green: 1, blue: 1, alpha: 0.5)
placeDistanceLabel.font = UIFont(name: "Helvetica", size: 18)

placeDistanceLabelView.addSubview(placeDistanceLabel)
scrollView.addSubview(placeDistanceLabelView)

然后我尝试设置所有约束

placeTitleLabelView.autoPinEdge(.left, to: .left, of: scrollView, withOffset: edgesInset)
placeTitleLabelView.autoPinEdge(.top, to: .top, of: scrollView, withOffset: edgesInset)

placeDistanceLabelView.autoPinEdge(.left, to: .left, of: scrollView, withOffset: edgesInset)
placeDistanceLabelView.autoPinEdge(.top, to: .bottom, of: placeTitleLabelView, withOffset: edgesInset / 2)

我在上面使用的所有其他元素都显示得很好,但我不明白为什么这些不是,它们只是标签,但我无法获得使用它们的约束。

最佳答案

通过确保在设置标签大小后将包含 View 的高度设置为标签的高度,我能够让这些工作

placeDistanceLabel.sizeToFit()
placeDistanceLabelView.autoSetDimension(.height, toSize: placeDistanceLabel.bounds.height)
placeDistanceLabelView.autoPinEdge(.left, to: .left, of: scrollView, withOffset: edgesInset)
placeDistanceLabelView.autoPinEdge(.top, to: .bottom, of:
placeTitleLabelView, withOffset: edgesInset / 2)

关于swift - 如何使用 PureLayout 将标签分开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50283279/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com