在iOS中对textView的设置直接用就好了,但是在mac os开发中只设置textView是不可用的(因为无法滚动)。需要添加到scrollview上面。下面纯代码创建NSTextView。
@property (nonatomic, strong) NSTextView *theTextView;
@property (nonatomic, strong) NSScrollView *scrollView;
// NSTextView
self.theTextView = [[NSTextView alloc]initWithFrame:CGRectMake(20, 20, self.window.frame.size.width - 40, self.window.frame.size.height - 80)];
[self.window.contentView addSubview:self.theTextView];
self.theTextView.backgroundColor = [NSColor whiteColor];
self.theTextView.editable = NO;
self.theTextView.string = @"applicationDidFinishLaunching";
self.theTextView.textColor = [NSColor colorWithRed:102 / 255.0 green:102 / 255.0 blue:102 / 255.0 alpha:1.0];
// NSScrollView
self.scrollView = [[NSScrollView alloc]initWithFrame:CGRectMake(20, 20, self.window.frame.size.width - 40, self.window.frame.size.height - 80)];
[self.scrollView setBorderType:NSNoBorder];
[self.scrollView setHasVerticalScroller:YES];
[self.scrollView setHasHorizontalScroller:NO];
[self.scrollView setAutoresizingMask:NSViewWidthSizable | NSViewHeightSizable];
[self.theTextView setMinSize:NSMakeSize(0.0, self.window.frame.size.height - 80)];
[self.theTextView setMaxSize:NSMakeSize(FLT_MAX, FLT_MAX)];
[self.theTextView setVerticallyResizable:YES];
[self.theTextView setHorizontallyResizable:NO];
[self.theTextView setAutoresizingMask:NSViewWidthSizable];
[[self.theTextView textContainer]setContainerSize:NSMakeSize(FLT_MAX, FLT_MAX)];
[[self.theTextView textContainer]setWidthTracksTextView:YES];
[self.theTextView setFont:[NSFont fontWithName:@"PingFang-SC-Regular" size:12.0]];
[self.theTextView setEditable:NO];
[self.scrollView setDocumentView:self.theTextView];
[self.window.contentView addSubview:self.scrollView];