Pytanie Formatuj tekst w UITextView


Tworzę "O stronie" dla mojej aplikacji i muszę wkleić na nią dość dużą ilość tekstu (tekst nie będzie edytowalny).

Używam UITextView w tym celu. Jednak potrzebuję słów, które będą pogrubione (jak nagłówki). Ale nie jestem w stanie tego osiągnąć. The UITextView usuwa całe moje formatowanie.

Nie mam tutaj żadnego kodu, ponieważ wklejałem cały mój tekst tylko do IB.

Czy istnieje obejście? Na przykład ... Chcę, aby nagłówek był pogrubiony ...

"O firmie ABC Corporation

gkskgsagdfgfskgfjkgfgljdgsfjgdsjfgdjlsgflgdslgfljdsgfljgdsjlgfljdsgfljdgslfgls.
jdfjkhdsjlfhdlsfhkldshfkldshflkdhlkfhdklsfhlksdhflkdshflkhdsflkhsdklfhlksdhflkshf

fjhdshfkldshfkldhsfklhdsklfhlkdshfklhdsklfhdklsfhkdshfklhdsklfhklsdfhkldshfkhdsklf

fhjdgfkdgsjkfgjkdsgfjkdsgjfgjdkgfjgsjdfgjkdsgfjkgsdjkfgjsdgfjgsdjkfgjksdgfjkgskjfgs"

11
2017-12-26 08:16


pochodzenie


Najpierw zachowaj właściwość tekstową textView jako "Przypisane", po czym wybierz tekst i zmień jego styl i czcionkę tak, jak chcesz (Wszystko co musisz zrobić w panelu Inspektora atrybutów IB) - Nayan
Czy ustawiłeś flagę tekstu sformatowanego w IB? - Duncan Groenewald
Nie mogę znaleźć flagi Rich Text dla TextView w IB .. - Shradha
dzięki @NSS .. uratowałeś mnie .. - Shradha
Wybierz wartość "Przypisane" dla właściwości text, a nie "Plain", jak dla odpowiedzi @NSS. Przepraszamy, flaga Rich Text to odpowiednik NSTextView OSX. - Duncan Groenewald


Odpowiedzi:


Najpierw zachowaj właściwość tekstową textView tak jak 'Attributed", po tym wystarczy wybrać tekst i zmienić jego styl i czcionkę, jak chcesz.

P.S. - Wszystko, co musisz zrobić w panelu inspektorów atrybutów IB.

EDYTOWAĆ:

Aby uzyskać więcej, odwiedź ten link .

Również, to jest bardzo dobre, głównie gdy textField mieć tekst, który się nie zmieni, np. - jak O informacji. I kiedy ten tekst jest wstawiany bezpośrednio do IB zamiast przypisywania tekstu programowo.


9
2017-12-26 09:37





Możesz użyć NSAttributedString, Ustaw czcionkę tekstu, kolory pierwszego planu i tła, StrikeThrough I cień itp.

Przypisane łańcuchy tworzą powiązanie między postaciami i ich atrybutami. Lubić NSString obiekty, istnieją dwie odmiany, NSAttributedString i NSMutableAttributedString. Chociaż poprzednie wersje iOS obsługiwane ciągi przypisane, nie było aż iOS 6 kontrolki takie jak przyciski, etykiety, pola tekstowe i widoki tekstu zdefiniowały właściwość do zarządzania atrybutami. Atrybuty są stosowane do zakresu znaków, więc możesz na przykład ustawić a strikethrough atrybut tylko dla części ciągu. Należy również zauważyć, że domyślną czcionką dla przypisanych obiektów tekstowych jest Helvetica 12-point. Miej to na uwadze, jeśli ustawisz atrybut czcionki dla zakresu innego niż cały ciąg znaków. Następujące atrybuty można ustawić za pomocą przypisanych ciągów:

NSString *const NSFontAttributeName;
NSString *const NSParagraphStyleAttributeName;
NSString *const NSForegroundColorAttributeName;
NSString *const NSBackgroundColorAttributeName; 
NSString *const NSLigatureAttributeName;
NSString *const NSKernAttributeName;
NSString *const NSStrikethroughStyleAttributeName;
NSString *const NSUnderlineStyleAttributeName; 
NSString *const NSStrokeColorAttributeName;
NSString *const NSStrokeWidthAttributeName;
NSString *const NSShadowAttributeName; 
NSString *const NSVerticalGlyphFormAttributeName;



 // Create attributed string
 NSString *str = @"example for underline \nexample for font \nexample for bold \nexample for italics"; 

 NSMutableAttributedString *attributedString =
 [[NSMutableAttributedString alloc] initWithString:str];

 // Add attribute NSUnderlineStyleAttributeName 
 [attributedString addAttribute:NSUnderlineStyleAttributeName 
                   value:[NSNumber numberWithInt:NSUnderlineStyleSingle] 
                   range:NSMakeRange(12, 9)];
 [attributedString addAttribute:NSUnderlineStyleAttributeName
                   value:[NSNumber numberWithInt:NSUnderlineStyleSingle]
                   range:NSMakeRange(12, 9)];

 // Set background color for entire range
 [attributedString addAttribute:NSBackgroundColorAttributeName
                   value:[UIColor yellowColor]
                   range:NSMakeRange(0, [attributedString length])];


 // Create NSMutableParagraphStyle object
 NSMutableParagraphStyle *paragraph = [[NSMutableParagraphStyle alloc] init];
 paragraph.alignment = NSTextAlignmentCenter;

 // Add attribute NSParagraphStyleAttributeName
 [attributedString addAttribute:NSParagraphStyleAttributeName 
                   value:paragraph
                   range:NSMakeRange(0, [attributedString length])];



 // Set font, notice the range is for the whole string
 UIFont *font = [UIFont fontWithName:@"Helvetica" size:18]; 
 [attributedString addAttribute:NSFontAttributeName 
                   value:font
                   range:NSMakeRange(35, 4)];



 // Set font, notice the range is for the whole string
 UIFont *fontBold = [UIFont fontWithName:@"Helvetica-Bold" size:18];
 [attributedString addAttribute:NSFontAttributeName 
                   value:fontBold 
                   range:NSMakeRange(53, 4)];

 // Set font, notice the range is for the whole string 
 UIFont *fontItalics = [UIFont fontWithName:@"Helvetica-Oblique" size:18];
 [attributedString addAttribute:NSFontAttributeName 
                   value:fontItalics
                   range:NSMakeRange(71, 7)];



 // Set label text to attributed string
 [self.mytextView setAttributedText:attributedString];

5
2017-12-26 09:10





Sprawdzić attributedText własność UITextView https://developer.apple.com/library/ios/documentation/uikit/reference/uitextview_class/Reference/UITextView.html#//apple_ref/occ/instp/UITextView/attributedText

I w ten sposób możesz zrobić część swojej struny pogrubionej Jakikolwiek sposób na odważne części NSString?


1
2017-12-26 08:21





Możesz użyć NSMutableAttributedString do obsługi właściwości wielu atrybutów w ciągu znaków.
Uwaga: - NSMutableAttributedString jest dostępny w iOS 6.0 lub nowszym.
 Edytować:-
 Sprawdź to:- Jak utworzyć UILabel lub UITextView z pogrubionym i normalnym tekstem?


1
2017-12-26 08:20





Zestaw SDK dla systemu iOS zawiera w sobie zestaw tekstowy. iOS 7 oferuje możliwość poprawienia czytelności tekstu poprzez zwiększenie ciężaru czcionki, a także opcję ustawienia preferowanego rozmiaru czcionki dla aplikacji obsługujących tekst dynamiczny. Użytkownicy będą oczekiwać, że aplikacje napisane na iOS7 będą honorować te ustawienia, więc zignoruj ​​je na własne ryzyko! Aby użyć typu dynamicznego, musisz określić czcionki za pomocą stylów, zamiast jawnie określać nazwę i rozmiar czcionki. W systemie iOS 7 dodano nową metodę UIFont, preferredFontForTextStyle, która tworzy czcionkę dla danego stylu przy użyciu preferencji użytkownika.

Oto świetny samouczek w doskonałej witrynie internetowej Poradnik dotyczący zestawu tekstów Ray wenderlich

Jeśli masz czas, obejrzyj sesję wideo WWDC 2013 201


0
2017-12-26 08:21





UITextView jest zwykłym tekstem i nie można zastosować różnych stylów (czcionki, koloru) dla różnych słów. Proponuję ci użyć UIWebView. Jest to html, więc można go stylizować.


-7
2017-12-26 10:58



To jest niepoprawne. UITextView obsługuje metodę attributedString. - Duncan Groenewald