在iOS中实现不可编辑的文本有UILabel控件,在macOS中则使用NSTextField或者NSTextView实现。这里使用NSTextField,通过设置editable为NO来禁用NSTextField选中和编辑。
在使用的NSTextField时候遇见了背景框无法去掉的情况,需要禁用bordered字段。
NSTextField *lab=[[NSTextField alloc]initWithFrame:frame];
lab.bordered=NO;//去掉背景框,不设置无法去掉背景框
lab.wantsLayer=YES;
lab.backgroundColor = [NSColor clearColor];
lab.layer.backgroundColor = [NSColor clearColor].CGColor;
lab.alignment=NSTextAlignmentLeft;
lab.editable=NO;//不可编辑
[lab setNeedsDisplay:YES];
网友评论