我在使PureLayout与UILabel
一起工作时遇到了一些麻烦,我正在考虑这个问题并试图将彼此分开
我有一个标签,从视图顶部和视图左侧间隔一些边距。然后我有一个辅助标签,也应该从视图的左边放置一些边距,然后从第一个标签的底部隔开相同数量的边距
autoPinEdge
似乎希望UIView
引用边界而UILabel
显然不是UIView
所以我试图弄清楚如何获得这个工作
我的第一个想法是创建新视图,只是按住标签,我可以引用视图来获取坐标等,但它们现在没有出现在视图中,这里是基本设置
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)
我正在使用的所有其他元素都显示得很好,但我不明白为什么这些不是,它们只是标签,但是我无法使用限制来处理它们。
答案 0 :(得分:0)
通过确保在设置标签大小后将包含视图的高度设置为标签的高度,我能够使这些工作正常工作
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)