2017-01-02 1 views
-1

Я хочу, чтобы этот формат типа слову организовать в NSString на UILabel какКак организовать NSString слово в этом формате типа без добавления пространства в UILabel

enter image description here

, но я стараюсь, чтобы добавить дополнительные пробельные в соответствии с длиной слова верхнего строчка, но другой способ сделать этот формат формата, используя NSAttributesString.

+0

Используйте Alt + Enter для новой строки и Alt + Tab для вкладки в свойстве UILabel Text в xib/sto ryboard. И измените свойство Line на 0. – Shreyank

+0

@Shreyank Я хочу сделать это программно, чтобы упорядочить этот формат – Keyur

+1

'lblName.text = @" FirstLine \ n \ tSecondLine \ n \ t \ tThirdLine ";' Just Do like this. – Shreyank

ответ

2

Вы можете сделать это с помощью NSMutableAttributedString без добавления лишнего пробела.

Во-первых, создать метод, который возвращает NSMutableAttributedString как this-

-(NSMutableAttributedString*)setIndent:(NSString*) title value:(CGFloat) value { 
    NSMutableParagraphStyle *style = [[NSParagraphStyle defaultParagraphStyle] mutableCopy]; 
    style.alignment = NSTextAlignmentLeft; 
    style.firstLineHeadIndent = value; 

    NSMutableAttributedString *attrText = [[NSMutableAttributedString alloc] initWithString:title attributes:@{ NSParagraphStyleAttributeName : style}]; 
    return attrText; 
} 

и использовать этот метод следующим образом -

NSString *title = @"Charlie Chapline Cartoon"; 

    NSArray* foo = [title componentsSeparatedByString: @" "]; 
    NSMutableAttributedString *attrText5 = [[NSMutableAttributedString alloc] init]; 
    CGFloat value = 0.0f; 
    for(int i = 0; i< foo.count; i++){ 
     //change this value according to your need. 
     value = value + 20.0f; 
     [attrText5 appendAttributedString:[self setIndent:[NSString stringWithFormat:@"%@\n", foo[i]] value:value]]; 
    } 

    _myLab.numberOfLines = 5; 
    _myLab.attributedText = attrText5; 

Выход:

enter image description here

+0

Спасибо, что дали ответ, я пытаюсь сделать динамическое пространство добавлением перед словом Спасибо – Keyur