macOS & iOS 开发笔记

不写博客技术就会更好?也许给不了高深,但愿给你清晰

MacOS 开发 - NSButtonType

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];

    }
}
阅读更多

扫码向博主提问

去开通我的Chat快问

lovechris00

博客专家

爱拼才会赢
  • 擅长领域:
  • iOS
  • macOS
版权声明:本文为博主原创文章,转载请附上本文链接地址。from : https://blog.csdn.net/lovechris00 https://blog.csdn.net/lovechris00/article/details/77976480
个人分类: macOS 开发笔记
所属专栏: macOS 开发
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭