我建議使用NSAttributedString
和NSParagraphStyle
加上NSParagraphAttributeName
。
這裏有一個例子:
NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:yourString];
int indent1 = 0;
int indent2 = 20;
int indent3 = 2*indent2;
NSMutableParagraphStyle *styleTitleByNumber = [[NSMutableParagraphStyle alloc] init];
[styleTitleByNumber setFirstLineHeadIndent:indent1];
[styleTitleByNumber setHeadIndent:indent1];
NSMutableParagraphStyle *styleTitleByLetter = [[NSMutableParagraphStyle alloc] init];
[styleTitleByLetter setFirstLineHeadIndent:indent2];
[styleTitleByLetter setHeadIndent:indent2];
NSMutableParagraphStyle *styleSimpleText = [[NSMutableParagraphStyle alloc] init];
[styleSimpleText setFirstLineHeadIndent:indent3];
[styleSimpleText setHeadIndent:indent3];
[attributedString addAttribute:NSParagraphStyleAttributeName
value:styleTitleByNumber
range:rangeOfTitleByNumber];
[attributedString addAttribute:NSParagraphStyleAttributeName
value:styleTitleByLetter
range:rangeOfTitleByLetter];
[attributedString addAttribute:NSParagraphStyleAttributeName
value:styleSimpleText
range:rangeOfSimpleText];
[yourTextView setAttributedText:attributedString];
現在,這取決於如何格式化您的初始文本,我離開你知道在哪裏可以申請哪種風格(用於NSRange
參數)的方式,或者你也可以,如果不同部分分開,則對NSAttributedString
應用直接影響,然後將它們全部組合。
我不太確定,但試試看@「第一行\ n \ t第二行帶有製表符\ n \ t \ t第三行帶兩個製表符」。所以「\ t」是一個標籤,「\ n」是換行符 – 2014-08-30 11:45:29
@DavidG。起初,我想到了這一點,但UITextView的寬度出現在iphone和ipad不同的畫面中。所以我不能使用它。 – 2014-08-30 11:58:37