Ich versuche, Zeilen anzuzeigen, die ein Thumbnail und einen Titel enthalten.Ich versuche, automatische Beschränkung auf Label festzulegen, auf langen Text fehlgeschlagen
Es funktioniert gut für kurze Titelfolgen, aber für lange Saiten bricht es. Anstatt horizontal zu expandieren, würde ich bevorzugen, dass es vertikal expandiert. Überprüfen Sie den folgenden Screenshot, um zu sehen, was passiert, wenn eine lange Zeichenfolge verwendet wird. Ich verwende PureLayout zu Auto-Layout zu verwalten:
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)
Die entsprechenden Einstellungen auf dem UITextLabel sind ebenfalls gesetzt:
titleLabel.lineBreakMode = .byWordWrapping
titleLabel.numberOfLines = 0
titleLabel.textAlignment = .left
Irgendwelche Vorschläge geschätzt werden. Dank
Warum verwenden Sie '.lessThanOrEqual' für die führende Einschränkung Ihres Etiketts? – Paulw11
@ Paulw11 Ich möchte, dass es einen minimalen Abstand zwischen dem Etikett und dem Thumbnail gibt – user339946
Ok, aber Sie wollen nicht '.lessThanOrEqual'. Das besagt, dass die Marge "kLabelHorizontalInsets" ** oder weniger ** sein muss. -20 ist weniger. Sie wollen nur, dass der Rand "kLabelHorizontalInsets" ist, also entfernen Sie den Parameter 'relation' – Paulw11