概要
- 文字が重なるのがちょっと窮屈のため、スクロールバー用に余白を取りたい
- 以下がゴール
参考
コード
-
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;
}
右側のみ間隔を開けるのに使える手法
- 邪道かも
// スクロールバー分のマージンを確保する
NSSize textViewSize = _textView.superview.frame.size;
textViewSize.width -= 15;
[_textView setFrameSize:textViewSize];