UITextViewの左のパディングを削除するためのSOには多くの素晴らしい例があります。
ただし、適切なパディングも削除する必要があります。
私が試してみました...
[tv setContentInset: UIEdgeInsetsMake(-4,-8,-8,-X)];//where X is any integer
そして、パディングを削除するために最後の2つの値のほぼすべての他の順列と何も動作しないようです。また試してみました
[tv sizeToFit];
[tv setTextAlignment:[NSTextAlignmentRight]];
Textviewの次のテキストは「00」と言います
IOS 7のみですが、非常にクリーンなソリューションは、textViewのtextContainerInsetsを次のように設定することです。
[textView setTextContainerInset:UIEdgeInsetsZero];
textView.textContainer.lineFragmentPadding = 0; // to remove left padding
これにより、テキストビュー内のテキストの周囲のすべてのパディング(インセット)が効果的に削除されます。展開ターゲットがiOS 7以降の場合、これがこれまでの最善のソリューションです。
すべてのパディングを完全に削除するには、lineFragmentPadding
を考慮する必要があります。
let padding = textView.textContainer.lineFragmentPadding
textView.textContainerInset = UIEdgeInsetsMake(0, -padding, 0, -padding)
lineFragmentPadding
のデフォルト値は5で、フラグメント長方形の始まりと終わりにあります。
lineFragmentPadding
を0に設定することを提案する回答もありました。ただし、ドキュメントで説明されているように、テキストの余白を表現するようには設計されていません。したがって、0に設定しないでください。
UITextViewをサブクラス化し、次のメソッドをオーバーライドしてください:
- (id)styleString
{
return [[super styleString] stringByAppendingString:@"; line-height: 1.6em;margin-right: 30px; margin-left: 0px; margin-top: 0px;"];
}
どうやら。余白、余白、必要なものは何でも微調整できます;)