IOS - удалить ВСЕ отступы из UITextView

На SO есть много прекрасных примеров, чтобы удалить левое дополнение UITextView.

Как потерять margin/padding в UITextView?

Однако мне также нужно удалить правое дополнение.

Я пробовал...

[tv setContentInset: UIEdgeInsetsMake(-4,-8,-8,-X)];//where X is any integer

и почти каждая перестановка двух последних значений для удаления прокладки и ничего не работает. Также попробовали

[tv sizeToFit];
[tv setTextAlignment:[NSTextAlignmentRight]];

Следующий текст в текстовом виде говорит "00"

enter image description here

Ответ 1

Хотя это только iOS 7, чрезвычайно чистое решение - установить textView textContainerInsets как таковой:

[textView setTextContainerInset:UIEdgeInsetsZero];
textView.textContainer.lineFragmentPadding = 0; // to remove left padding

Это эффективно удалит все отступы (вставки) вокруг текста внутри текстового вида. Если целью развертывания является iOS 7+, тогда это лучшее решение.

Ответ 2

Чтобы полностью удалить все дополнения, необходимо учитывать lineFragmentPadding.

let padding = textView.textContainer.lineFragmentPadding
textView.textContainerInset = UIEdgeInsetsMake(0, -padding, 0, -padding)

Значение lineFragmentPadding по умолчанию равно 5 и находится в начале и конце прямоугольника фрагмента.

В некоторых ответах предлагается установить lineFragmentPadding в 0. Однако, как обсуждалось в документе, он не предназначен для выражения полей текста. Поэтому не устанавливайте его на 0.

Ответ 3

Попробуйте подклассифицировать UITextView и переопределить следующий метод:

    - (id)styleString
{
    return [[super styleString] stringByAppendingString:@"; line-height: 1.6em;margin-right: 30px; margin-left: 0px; margin-top: 0px;"];
}

По-видимому, вы можете настроить маржу-левую, margin-top и все, что хотите;)

Ответ 4

Моя проблема решена таким образом

if([Utils isiOS7orHigher]){
    commentView.textContainerInset = UIEdgeInsetsZero;
}else {
    commentView.contentInset = UIEdgeInsetsMake(-11,-8,0,0);
}

Подробнее см. http://foobarpig.com/iphone/get-rid-of-uitextview-padding.html