Dynamische Größenanpassung von Text mit Kerning, um die gesamte Breite eines UILabels zu belegen

Ich habe ein Layout mit einemUILabel über einer Ansicht mit fester Breite platziert, die unten als graues Rechteck dargestellt ist.

Der Text muss mit der Breite der festen grauen Ansicht übereinstimmen.

Ich habe dies erreicht, indem ich dieadjustsFontSizeToFitWidth Eigentum auf demUILabel zuYES, setzt die Schriftgröße auf etwas sehr Großes und setzt dieminimumScaleFactor zu etwas passendem klein.Das hat gut funktioniert, bis…

Ich musste dem Text einen Kerning hinzufügen. Ich habe den Kerning durch Anwenden hinzugefügt@{NSKernAttributeName: @1.40} zu einer attributierten Zeichenfolge und übergab dann die attributierte ZeichenfolgeUILabelIstattributedText Eigentum. Leider scheint dies die automatische Skalierung zu stumpfen, da dies dazu führt, dass der Text korrekt gekernt wird, das Ende der Zeichenfolge jedoch abgeschnitten wird. Es ist, als hätte das Etikett den Text verkleinert, ohne den Kerning zu berücksichtigen.

Wie kann ich einen bestimmten String bekommen?mit Kerning mit einer Breite meiner Wahl (d. h. der Breite der grauen Ansicht) gerendert werden?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage