Ich versuche, eine Zeichenfolge zugeschrieben, aber die unterstrichenen deckt meinen Text statt erscheinen dahinter zu erstellen:Unterstrichen deckt Text in NSAttributedString
Gibt es eine Möglichkeit, dies zu beheben? Ich benutze den folgenden Code:
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.lineSpacing = 10.0
let attributes = [NSForegroundColorAttributeName: UIColor.white,
NSUnderlineStyleAttributeName: NSUnderlineStyle.styleThick.rawValue,
NSUnderlineColorAttributeName: UIColor.red,
NSParagraphStyleAttributeName: paragraphStyle]
let attributedString = NSAttributedString(string: "Story", attributes: attributes)
Vielen Dank!
EDIT:
Um mehr Kontext zu geben:
ich die zugeschrieben Zeichenfolge auf einem UILabel in einer .xib Datei platziert Anzeigen:
view.textLabel.attributedText = attributedString
Das Label hat die folgende Schrift: System Bold 32.0
Ich führe den Code auf iPhone 6 - iOS 10.3 Simulator.
EDIT 2:
Ich soll erwähnt, dass das Etikett an einem gewissen Punkt, mehr als eine Textzeile enthalten. Aus diesem Grund ist die NummerOfLines auf 0 gesetzt.
EDIT 3: Wenn jemand dieses Problem auftritt - es scheint, dass es große Unterschiede in der Unterstreichung auf iOS 9 vs 10 sowie UILabel vs UITextView gibt. Ich musste die Unterstreichung selbst zeichnen, indem ich NSLayoutManager abtrennte.
Kann das Problem nicht reproduzieren. Auf meiner Maschine ist die Unterstreichung schön vom Text getrennt und schneidet nicht die Unterlänge des "y". https://i.stack.imgur.com/uXs4R.png Bitte zeigen Sie mehr von Ihrem Code, um dies reproduzierbar zu machen. Wie wird diese attributierte Zeichenfolge angezeigt? Welche Schriftart verwendest du? Und so weiter. – matt
Auch hier kann ich Ihr Problem nicht in meinem Computer replizieren. Es wird schön getrennt vom Text angezeigt. @Grzegorz Aperliński – iPeter
(Ich kann auch erwähnen, dass Ihr Code nicht auf meinem Rechner kompiliert wurde. Es ist notwendig, 'Attribute' explizit als vom Typ' [String: Any] 'zu deklarieren.) – matt