Как я могу отступать только в первой строке многострочного UILabel в iOS?

Я хочу добавить изображение в начало UILabel. Ярлык многострочный. Если я использую contentInset, он делает отступ всей меткой, но я хочу только отступать от первой строки.

Я пробовал это до сих пор, это не работает для меня.

    UIEdgeInsets titleInsets = UIEdgeInsetsMake(0.0, 40.0, 0.0, 0.0);
    valueLabel.contentInset = titleInsets;

Это должно выглядеть так.

enter image description here

Ответ 1

Предложение @DavidCaunt работало для меня. Я использую код здесь.

NSMutableParagraphStyle *style = [[NSMutableParagraphStyle alloc] init];
style.firstLineHeadIndent = 50;

[attributedText addAttribute:NSParagraphStyleAttributeName value:style range:range];

[valueLabel setAttributedText:attributedText];

Ответ 2

В качестве указателя user716216 дополнительно - мы можем использовать вкладку с заданным значением отступа:

NSMutableParagraphStyle *paragraphStyle = [NSMutableParagraphStyle new];
paragraphStyle.headIndent = 50;

label.attributedText = [[NSAttributedString alloc] initWithString:
    @"\tHow can i add image like this in start of UILabel? Label is multiline.........."
    attributes:@{NSParagraphStyleAttributeName: paragraphStyle}];

Ответ 3

Вот как вы можете сделать это в Интерфейсном Разработчике:

Demonstrates how to indent the first line of a label in Interface Builder