Wie kannst du nur ein Wort in einem UILabel fett machen?

8

Es ist einfach, ein einzelnes Etikett mit dem gleichen Text anzuzeigen, aber was passiert, wenn Sie ein Wort fett anzeigen möchten?

Beispiel:

Alle Ihre Basen gehören uns .

    
Gary Haran 22.10.2010, 15:08
quelle

3 Antworten

7

UILabel selbst kann keine Beschriftung mit unterschiedlichen Attributen / Schriftarten innerhalb des Textes zeichnen. Aber Core Text kann. Sie können eine Unterklasse von UILabel erstellen, die eine attributierte Zeichenfolge umschließt und Core Text zum Zeichnen verwendet. Sie können die Zeichnung wie in dieser Beispielcode aus dem Core Text-Programmierhandbuch:

%Vor%     
Jeremy W. Sherman 22.10.2010, 15:23
quelle
1

Leider ist dies zur Zeit nicht möglich. Sie könnten jedoch UILabel ableiten und diese Funktionalität einschließen.

Eine andere Möglichkeit wäre die Verwendung eines UIWebView, aber dafür müssen HTML-Tags und die Methode loadHTML: verwendet werden.

    
Evan Mulawski 22.10.2010 15:11
quelle
1

Wie Evan Mulawski schrieb, wird UILabel dich nicht bekommen, was du willst. Weder UITextField noch UITextView.

Ein anderer Ansatz wäre, UIView von der Unterklasse zu entfernen und eine "drawRect:" -Methode zu schreiben, die das tut, was Sie wollen. Sie könnten sich

ansehen
  • CGContextShowTextAtPoint
  • [NSString drawAtPoint: withFont:]
  • [NSString sizeWithFont:]

Wenn du nicht viele Zeilenumbrüche und Zeilenumbrüche benötigst, könntest du wahrscheinlich ziemlich einfach etwas herstellen.

UIWebView wäre wahrscheinlich schneller, aber es scheint eine Menge Aufwand für etwas so einfaches wie ein gestyltes Label zu sein.

    
westsider 22.10.2010 15:34
quelle

Tags und Links