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 ではUITextView
TextKit がベースになっており、新しいプロパティが追加されています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)