MacOS 开发

来源:互联网 发布:知乎 漫威 彩蛋 编辑:程序博客网 时间:2024/06/05 01:55

NSButtonType

typedef NS_ENUM(NSUInteger, NSButtonType) {    NSButtonTypeMomentaryLight    = 0,    NSButtonTypePushOnPushOff     = 1,    NSButtonTypeToggle            = 2,    NSButtonTypeSwitch            = 3,    NSButtonTypeRadio             = 4,    NSButtonTypeMomentaryChange   = 5,    NSButtonTypeOnOff             = 6,    NSButtonTypeMomentaryPushIn   = 7,    NSButtonTypeAccelerator NS_ENUM_AVAILABLE_MAC(10_10_3) = 8,    NSButtonTypeMultiLevelAccelerator NS_ENUM_AVAILABLE_MAC(10_10_3) = 9,};

显示结果

小结:
- 1、6 类型(NSButtonTypePushOnPushOff、NSButtonTypeOnOff),选中状态是蓝色,再次点击才会恢复到原来的颜色。
- 0、2、7(NSButtonTypeMomentaryLight、NSButtonTypeToggle、NSButtonTypeMomentaryPushIn) 点击时会有背景色(高亮状态)。
- 5(NSButtonTypeMomentaryChange) 点击时会有高亮状态,文字一闪,但是没有高亮的背景色。
- 3(NSButtonTypeSwitch) 适合做多选
- 4 (NSButtonTypeRadio) 适合做单选。

按钮-无文字2.png

测试代码

- (void)addSerialBtn2{    CGFloat btnW = 80;    CGFloat btnH = 40;    for (int i = 0; i < 8; i++) {        NSButton *btn = [[NSButton alloc]initWithFrame:NSMakeRect( 20 + (i % 5) * (btnW + 5) ,50 + (i / 5) * (btnH + 40), btnW, btnH)];//        btn.bezelStyle = i;        btn.bezelStyle =  NSRoundedBezelStyle;        [btn setButtonType:i];        NSString *btnName = [NSString stringWithFormat:@"按钮 - %d",i];            [btn setTitle:@"按钮"];//        [btn setTitle:@""];        btn.wantsLayer = YES;        btn.layer.backgroundColor = [NSColor cyanColor].CGColor;        [self.window.contentView addSubview:btn];        NSTextField *field = [[NSTextField alloc]initWithFrame:NSMakeRect(CGRectGetMinX(btn.frame), CGRectGetMinY(btn.frame) - 22, btnW, 20)];        field.stringValue = btnName;        field.bezelStyle = i;        [self.window.contentView addSubview:field];    }}
原创粉丝点击