UITextViewを編集可能にしてなにやら文章をいれたりすると、以外と行間が狭かったりして、結構圧迫感のある見た目になってしまう。そういうときは、以下のようにして、改行幅を変える。
NSLayoutManagerDelegateというプロトコルを使い、
lineSpacingAfterGlyphAtIndexというdelegateメソッドを実装する。
@interface TSViewController () <NSLayoutManagerDelegate> @property (strong, nonatomic) IBOutlet UITextView *textView; @end @implementation TSViewController - (void)viewDidLoad { [super viewDidLoad]; self.textView.text = @"あいうえお"; //デリゲート設定 self.textView.layoutManager.delegate = self; } - (CGFloat)layoutManager:(NSLayoutManager *)layoutManager lineSpacingAfterGlyphAtIndex:(NSUInteger)glyphIndex withProposedLineFragmentRect:(CGRect)rect { // ここで高さを設定する return 10; }
左がデフォルト、右が高さを10に設定したもの
すこし、高めの設定をしてみたのだが、改行が少し高くなっていることが分かる。
※検索候補に偶然出た"かっておいたよ"は無視でおねがいいたします(-.-)