Il existe de nombreux excellents exemples sur SO pour supprimer le remplissage gauche d'un UITextView.
Comment perdre la marge/le remplissage dans UITextView?
Cependant, je dois également retirer le bon rembourrage.
J'ai essayé...
[tv setContentInset: UIEdgeInsetsMake(-4,-8,-8,-X)];//where X is any integer
et à peu près toutes les autres permutations des deux dernières valeurs pour supprimer le remplissage et rien ne semble fonctionner. Ont également essayé
[tv sizeToFit];
[tv setTextAlignment:[NSTextAlignmentRight]];
Le texte suivant dans le Textview indique "00"
Bien qu'il s'agisse uniquement d'iOS 7, une solution extrêmement propre consiste à définir les textContainerInsets de textView comme tels:
[textView setTextContainerInset:UIEdgeInsetsZero];
textView.textContainer.lineFragmentPadding = 0; // to remove left padding
Cela supprimera efficacement tout le remplissage (encarts) autour du texte à l'intérieur de la vue de texte. Si votre cible de déploiement est iOS 7+, c'est la meilleure solution à ce jour.
Pour supprimer complètement tout remplissage, le lineFragmentPadding
doit être pris en compte.
let padding = textView.textContainer.lineFragmentPadding
textView.textContainerInset = UIEdgeInsetsMake(0, -padding, 0, -padding)
La valeur par défaut lineFragmentPadding
est 5 et se trouve au début et à la fin du rectangle de fragment.
Certaines réponses ont suggéré de définir lineFragmentPadding
sur 0. Cependant, comme indiqué dans le document, il n'est pas conçu pour exprimer les marges de texte. Ne le mettez donc pas à 0.
Veuillez essayer de sous-classer UITextView et de remplacer la méthode suivante:
- (id)styleString
{
return [[super styleString] stringByAppendingString:@"; line-height: 1.6em;margin-right: 30px; margin-left: 0px; margin-top: 0px;"];
}
Apparemment; vous pouvez modifier la marge gauche, la marge supérieure et tout ce que vous voulez;)