Tak, wiele osób mówi o Rich Text na iPhonie / iPadzie i wielu o tym wie NSAttributedString
.
Ale jak używać NSAttributedString
? Szukałem przez długi czas, żadnych wskazówek dotyczących ekstrakcji.
Wiem, jak skonfigurować NSAttributedString
, to co powinienem zrobić, aby wyświetlić tekst na iPhonie / iPadzie z tekstem sformatowanym?
Oficjalna dokumentacja mówi, że należy go używać CoreText.Framework
, co to oznacza?
Czy istnieje taki prosty sposób?
NSAttributedString *str;
.....
UILabel *label;
label.attributedString = str;
iphone
ipad
nsattributedstring
Jacek
źródło
źródło
Odpowiedzi:
Powinieneś spojrzeć na OHAttributedLabel AliSoftware . Jest to podklasa UILabel, która rysuje NSAttributedString, a także zapewnia wygodne metody ustawiania atrybutów NSAttributedString z klas UIKit.
Z próbki dostarczonej w repozytorium:
Uwaga: w iOS 6+ możesz renderować ciągi z przypisanymi atrybutami za pomocą właściwości attributeText z UILabel.
źródło
Począwszy od iOS 6.0 możesz to zrobić tak:
źródło
Powinieneś spróbować TTTAttributedLabel . Jest to zamiennik typu drop-in dla UILabel, który działa z NSAttributedString i jest wystarczająco wydajny dla UITableViewCells.
źródło
Prawie. Po prostu użyj CATextLayer. Ma
string
właściwość, którą można ustawić na NSAttributedString.EDYCJA (listopad 2012): Oczywiście wszystko to uległo zmianie w iOS 6. W iOS 6 możesz zrobić dokładnie to, o co prosił OP - przypisać przypisany ciąg bezpośrednio do etykiety
attributedText
.źródło
Odpowiedź na wyrównanie tekstu z przypisanym atrybutem UILabel w systemie iOS 6: użyj NSMutableAttributedString i dodaj NSMutableParagraphStyle do atrybutu. Coś takiego:
źródło
Pomyślałem, że przydałoby się podanie przykładu parsowania (uproszczonego) ciągu HTML, aby utworzyć NSAttributedString.
Nie jest kompletny - na początek obsługuje tylko tagi <b> i <i> i nie zawraca sobie głowy obsługą błędów - ale mam nadzieję, że jest również użytecznym przykładem, jak rozpocząć pracę z NSXMLParserDelegate ...
Aby użyć, zrób coś takiego:
źródło
Począwszy od iOS 6.0 możesz to zrobić w ten sposób: kolejny przykładowy kod.
źródło
Dla Swift użyj tego,
Dzięki temu teksty tytułów będą pogrubione,
źródło
Wiem, że jest trochę za późno, ale przyda się innym,
Dodaj żądany atrybut do słownika i przekaż go jako parametr atrybutów
źródło