Примечание: ОП разъясняет в комментарии, что они устанавливают свои отступы, используя атрибутный текст в Interface Builder.
Проблемы здесь путаница между текстом и приписываемого текстом, или, потому что это код, это text
и attributedText
.
На iOS много вещей имеют свойство text
, и это просто простая строка текста, которая отображается где-то без какого-либо форматирования. Обычно форматирование привязывается к объекту, который показывает текст, например. метка имеет свойства цвета текста и выравнивания, которые делают его text
выглядеть, как вы хотите.
На iOS большинство (все?) Этих вещей также имеют свойство attributedText
, которое является совсем другим зверем. Атрибутный текст содержит строку, а также специальные инструкции по форматированию, необходимые для отображения этих атрибутов строкового текста, отсюда и название.
Таким образом, OP создает атрибутную конфигурацию текста в своем раскадровке, а затем в коде, изменяя свойство text
. Это перезапишет их форматированную строку простой строкой, потеряв конфигурацию макета.
Если вы хотите, чтобы создать приписываемую строку с красной строкой, вы должны попробовать это:
let ps = NSMutableParagraphStyle();
ps.firstLineHeadIndent = 50
let attrs = [NSParagraphStyleAttributeName: ps]
let attributedString = NSAttributedString(string: "Hello, world!", attributes: attrs)
label.attributedText = attributedString
Обратите внимание, что существует несколько различных вариантов, доступных для вас здесь, так что вам, возможно, потребуется найдите нужный тип отступа для ваших точных потребностей. Если вы щелкните правой кнопкой мыши на NSMutableParagraphStyle
и выберите «Перейти к определению», вы увидите все варианты.
Что вы используете для настройки прокладки? – TwoStraws
@TwoStraws Я установил свойство Text в Xcode для атрибуции, затем перешел в «отступ строки» и положил 7 пикселей – JakeC
Посмотрите, если это поможет: http://stackoverflow.com/a/34054468/341994 – matt