关闭

MacOS 开发 - NSButtonType

2025人阅读 评论(1) 收藏 举报
分类:

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

    }
}
0
0
查看评论

学习Mac开发第一弹 认识 NSButton

学习Mac开发第一弹 认识 NSButton NSButton 外观与属性 打开storyboard 面版,发现NSButton 有很多类型。先在ViewController 拖个PushButton 居中显示看看功能吧 本人非常推荐可视化编程,所见即所得。大量减少了ui的...
  • lengshengren
  • lengshengren
  • 2016-12-26 17:32
  • 2523

[cocoa]Mac开发知识:NSButton使用及自定义/Safari调用/NSTextField

1.NSButton的实用知识; 2.自定义button相应鼠标不同状态事件; 3.应用中调用Safari
  • kaka_2928
  • kaka_2928
  • 2016-03-30 20:07
  • 2232

会变色的背景透明NSButton

效果图: //ColorTextButton.h #import @interface NSButton (ColorButton) - (void)setHoverColor:(NSColor *)textColor; - (void)setNormalColor:(NSColor...
  • sjcode
  • sjcode
  • 2012-05-03 13:48
  • 4207

Mac开发之如何设置NSButton高亮图片

如何设置NSButton高亮图片
  • u014636932
  • u014636932
  • 2017-09-05 20:04
  • 300

Cocoa中使用NSButton做一个仿真开关按钮

这次教大家做一个仿真的开关按钮,先看效果图。 介绍 Interface Builder里拖入一个按钮,选择类型为Switch,然后Image和Alternate里分别填上我们绘制好的2种状态的按钮图片,顺手把按钮大小调整好。 接下来就可以写代码了。 其实不写代码也可以,运行...
  • yuanya
  • yuanya
  • 2014-03-19 13:36
  • 1095

MacOS 开发 - NSButtonType

NSButtonTypetypedef NS_ENUM(NSUInteger, NSButtonType) { NSButtonTypeMomentaryLight = 0, NSButtonTypePushOnPushOff = 1, NSButtonType...
  • lovechris00
  • lovechris00
  • 2017-09-14 10:00
  • 2025

MacOS 上的 NSCell(比较 NSButton 和 NSButtonCell )

NSButton 和 NSButtonCell 的继承关系 Cell和Control 的关系本文选摘自 关于NSCell : http://cocoa.venj.me/blog/about-nscell/NSButton 和 NSButtonCell 的继承关系 NSButton的继承关系是:NS...
  • lovechris00
  • lovechris00
  • 2017-09-08 15:52
  • 2143

macOS 开发入门教程: Part 1

原文:macOS Development for Beginners: Part 1 作者:Sarah Reichelt 译者:kmyhy 你想开发自己的的 macOS App 吗?好消息!苹果让 macOS 开发变得超级简单,这个系列教程会教你如何进行 macOS App。你将学习如何...
  • kmyhy
  • kmyhy
  • 2017-06-22 09:01
  • 1903

MacOS 开发 - NSDatePicker(日期选择)

使用 NSDatePicker 就可以调出日期选择,结果图如最下。注意事项 创建 枚举 NSDatePickerStyle NSDatePickerElementFlags 效果图 参考资料 注意事项 建议把这个 picker 作为全局变量,这样就不会每次点击按钮都添加。 使用setAction 监...
  • lovechris00
  • lovechris00
  • 2017-09-08 17:44
  • 2220

Mac开发,NSButton 设置背景色。

Mac开发,不推荐修改button的背景色,但是如果一定改,需要通过重写button的drawRect的方法,才能实现。 即,首先创建一个button的子类,继承于NSButton,然后在.m文件中重写drawRect方法。 如果button用代码创建,则直接用这个子类创建button即可,如果...
  • qq_28699375
  • qq_28699375
  • 2017-01-09 17:53
  • 413
    博客专栏
    个人资料
    • 访问:210154次
    • 积分:3453
    • 等级:
    • 排名:第11457名
    • 原创:127篇
    • 转载:6篇
    • 译文:1篇
    • 评论:96条
    最新评论