第二節(jié),macOS開發(fā)入門之NSTextField
在第一節(jié)中我們展示hello macOS我們使用的是NSTextField,類似于iOS中的UILabel。
那么我們今天詳細介紹下NSTextField。
我們可以按住option鍵點擊NSTextField打開官方文檔查看哈。發(fā)現(xiàn)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;
? //設置最大行數(shù)
? textFld.maximumNumberOfLines = 5;
? //設置斷行模式
? [[textFld cell] setLineBreakMode:NSLineBreakByCharWrapping];
? //設置是否啟用單行模式
? [[textFld cell]setUsesSingleLineMode:NO];
? //設置超出行數(shù)是否隱藏
? [[textFld cell] setTruncatesLastVisibleLine: YES ];
效果圖:
