macOS 开发NSTextField控件 macOS中并没有 UILable ,也没有 NSLabel
macOS中的 label 实际上是 NSTextField,并将editable = NO;
来实现显示效果。这是不是和 iOS 中的UITextView 很像呢?
-(void)viewDidLoad { [super viewDidLoad]; NSTextField *lbl = [[NSTextField alloc] init]; lbl.frame = CGRectMake(100, 100, 200, 44); lbl.stringValue = @"啦啦啦"; [self.view addSubview:lbl]; }
复制以上代码即可简单运行NSTextField
以下是项目运行
#import "ViewController.h" @interface ViewController () /** macos 文本 */ @property (nonatomic, weak) NSTextField *lblnew; @end @implementation ViewController #pragma mark 懒加载 macos 文本 - (NSTextField *)lblnew { if (!_lblnew) { NSTextField *lbl = [[NSTextField alloc] init]; [self.view addSubview:lbl]; _lblnew = lbl; } return _lblnew; } -(void)viewDidLoad { [super viewDidLoad]; CGFloat lblY = 100; CGFloat lblW = 80; CGFloat lblH = 440; CGFloat lblX = 100; self.lblnew.frame = CGRectMake(lblX, lblY, lblW, lblH); //macOS NSTextField的属性按需要选择使用 _lblnew.editable = NO;//设置是否可以编辑 _lblnew.bordered = NO; //不显示边框 _lblnew.backgroundColor = [NSColor greenColor]; //控件背景色 _lblnew.textColor = [NSColor magentaColor]; //文字颜色 _lblnew.alignment = NSTextAlignmentCenter; //水平显示方式 _lblnew.maximumNumberOfLines = 2; //最多显示行数 _lblnew.stringValue = @"hhh"; //现实的文字内容 _lblnew.font = [NSFont systemFontOfSize:14];//设置字号大小 [_lblnew sizeToFit];////自适应大小(改变label的宽度,使其刚刚好可以容纳字符) } @end