我正在尝试显示包含缩略图和标题的行。
它适用于短标题字符串,但对于长字符串,它会中断。我宁愿它垂直扩展,而不是水平扩展。查看下面的屏幕截图,了解使用长字符串时会发生什么。我正在使用PureLayout来管理自动布局:
thumbnailView.autoSetDimensions(to:CGSize(width: 75, height: 75))
thumbnailView.autoPinEdge(toSuperviewEdge: .leading, withInset: kLabelHorizontalInsets)
thumbnailView.autoPinEdge(toSuperviewEdge: .top, withInset: kLabelVerticalInsets)
thumbnailView.autoPinEdge(toSuperviewEdge: .bottom, withInset: kLabelVerticalInsets, relation: .greaterThanOrEqual)
titleLabel.autoPinEdge(.leading, to: .trailing, of: thumbnailView, withOffset: kLabelHorizontalInsets, relation: .lessThanOrEqual)
titleLabel.autoPinEdge(toSuperviewEdge: .top, withInset: kLabelVerticalInsets)
titleLabel.autoPinEdge(toSuperviewEdge: .trailing, withInset: kLabelHorizontalInsets)
titleLabel.autoPinEdge(toSuperviewEdge: .bottom, withInset: kLabelVerticalInsets)
还设置了UITextLabel上的相应设置:
titleLabel.lineBreakMode = .byWordWrapping
titleLabel.numberOfLines = 0
titleLabel.textAlignment = .left
答案 0 :(得分:1)
您不需要限制顶部和底部约束。 UILabel将自动调整contentHeight。您可以参考contentHuggingPriorityForAxis:
和contentCompressionResistancePriorityForAxis:
。您可以修复标签的中心而不是底部和顶部。
答案 1 :(得分:0)
找到一种可能的解决方案:solution
原来UILabel
的{{1}}属性和自动布局不能很好地发挥作用。