LoginSignup
2
1

More than 3 years have passed since last update.

NSScrollView内のNSTextViewにPaddingを与える

Last updated at Posted at 2019-10-07

概要

  • 文字が重なるのがちょっと窮屈のため、スクロールバー用に余白を取りたい

-w361

  • 以下がゴール

-w358

参考

コード

  • NSTextViewのカスタムクラスを作成する。
  • イメージとしては…
    • 周りに余白をとる(上下・左右がそれぞれ対象)
    • 原点を移動させる(これで非対称)
  • 10*2で20のマージンを与える
#import "MyTextView.h"

@implementation MyTextView

- (void)drawRect:(NSRect)dirtyRect {
    [super drawRect:dirtyRect];

    // Drawing code here.
}

- (void)awakeFromNib {
    [super setTextContainerInset:NSMakeSize(10, 0)];
}

- (NSPoint)textContainerOrigin {
    NSPoint origin = [super textContainerOrigin];
    NSPoint newOrigin = NSMakePoint(origin.x - 10, origin.y);
    return newOrigin;
}

右側のみ間隔を開けるのに使える手法

  • 邪道かも

-w382

// スクロールバー分のマージンを確保する
NSSize textViewSize = _textView.superview.frame.size;
textViewSize.width -= 15;
[_textView setFrameSize:textViewSize];
2
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1