第二节,macOS开发入门之NSTextField
在第一节中我们展示hello macOS我们使用的是NSTextField,类似于iOS中的UILabel。
那么我们今天详细介绍下NSTextField。
我们可以按住option键点击NSTextField打开官方文档查看哈。发现NSTextField与UITextField的使用还是非常相似的。
@interfaceNSTextField:NSControl
具体的方法以及属性可以直接看文档,就不一一拷贝解析。
我们直接上代码,使用下NSTextField一些基本使用。
NSTextField *textFld = [NSTextField labelWithString:@"Hello MacOS APP"];
textFld.frame = CGRectMake((CGRectGetWidth(self.view.frame)-200)/2, CGRectGetHeight(self.view.frame)/2, 400, 200);
[self.view addSubview:textFld];
//字体大小
textFld.font = [NSFont systemFontOfSize:40];
//设置默认显示的提示字符串
textFld.placeholderString = @"请输入你的密码";
//设置默认显示的提示字符串 使用的带属性的字符串
NSMutableAttributedString * attriString = [[NSMutableAttributedString alloc]initWithString:@"请输入你的密码"];
[attriString addAttribute:NSForegroundColorAttributeName value:[NSColor redColor] range:NSMakeRange(5, 2)];
textFld.placeholderAttributedString = attriString;
//设置文本框背景颜色
textFld.backgroundColor = [NSColor greenColor];
//设置是否绘制背景
textFld.drawsBackground = YES;
//设置文字颜色
textFld.textColor = [NSColor blueColor];
//设置是否显示边框
textFld.bordered = YES;
//设置是否绘制贝塞尔风格的边框
textFld.bezeled = YES;
//设置是否可以编辑
textFld.editable = YES;
//设置文本框是否可以选中
textFld.selectable = YES;
//设置贝塞尔风格
textFld.bezelStyle = NSTextFieldSquareBezel;
//设置倾向布局宽度
textFld.preferredMaxLayoutWidth = 100;
//设置最大行数
textFld.maximumNumberOfLines = 5;
//设置断行模式
[[textFld cell] setLineBreakMode:NSLineBreakByCharWrapping];
//设置是否启用单行模式
[[textFld cell]setUsesSingleLineMode:NO];
//设置超出行数是否隐藏
[[textFld cell] setTruncatesLastVisibleLine: YES ];
效果图:
网友评论