UITextView コンテンツインセット 質問する

UITextView コンテンツインセット 質問する

contentInsetsでちょっと奇妙なことに遭遇しました

ストーリーボードにUITextViewがあり、contentInsetが50残っていて、uitextviewにパディングを追加しようとしている。

ただし、このテストでは、以下に示すように、uitextview の下部にスクロールバーが表示されます。ここに画像の説明を入力してください

contentInset は、この水平スクロール バーを表示せずに uitextview を縮小するという印象を持っていました。では、水平スクロール バーの必要性を排除し、このスクロール バーを必要とせずに、インセットと uitextview 内のすべてのテキストのすべてが表示されるようにするにはどうすればよいでしょうか。

注意: 水平スクロールを防止したり、スクロールバーを表示しない(つまりテキストがカットされる)ことについては尋ねていません。

どうもありがとう!

アトムkの場合(UITextViewはssと呼ばれます)

NSLog(@"Content Size Before %f",self.ss.contentSize.width); Logs: 280
CGSize size=self.ss.contentSize; size.width=size.width-50;
[self.ss setContentSize:size]; 
NSLog(@"Content Size After %f",self.ss.contentSize.width); Logs: 230

があるいいえコードを追加したビューと追加する前のビューの間には目に見える違いがあるので、何かが間違っています! (ありがとうございます)

ベストアンサー1

iOS 7 ではUITextViewTextKit がベースになっており、新しいプロパティが追加されていますtextContainerInset。これは期待どおりに動作します。

UITextView *textView = ...;
// Left inset of 50 points
textView.textContainerInset = UIEdgeInsetsMake(0.0, 50.0, 0.0, 0.0);

スウィフト4.2

textView.textContainerInset = UIEdgeInsets(top: 0, left: 50, bottom: 0, right: 0)

おすすめ記事