MacOS 开发 - NSButtonType

原创 2017年09月14日 10:00:13

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

    }
}
版权声明:本文为博主原创文章,转载请附上本文链接地址。

相关文章推荐

学习Mac开发第一弹 认识 NSButton

学习Mac开发第一弹 认识 NSButton NSButton 外观与属性 打开storyboard 面版,发现NSButton 有很多类型。先在ViewController 拖个Push...

MacOS 开发 - 系统图片

MacOS 系统图片 使用方法NSImage *computerimage = [NSImage imageNamed:NSImageNameStatusNone]; NSImageNameGoBac...

MacOS 开发 - NSButton - 勾选框(NSButtonTypeSwitch)

MacOS 开发 - NSButton - 勾选框(NSButtonTypeSwitch)

macOS逆向开发之class-dump

一、配置class-dump 1.打开http://stevenygard.com/projects/class-dump下载class-dump-3.5.dmg2.双击class-dump-3.5...

使用Swift开发一个MacOS的菜单状态栏App

这两天突然想看看OSX下的App开发,看了几篇文章。下面这一篇我觉得入门是非常好的。我仅转述为中文,并非原文翻译。原文地址:http://footle.org/WeatherBar/ 下面开始介绍如...

MacOS 搭建Android开发环境

如何在MAC OS X 安装Android SDK我以往用的开发环境都是以MAC OS安装VMware来跑不同的Windows OS,目前慢慢的将所要开发的项目由以往的传统的Wintel转移到Mobi...

macOS 下配置 MAMP 开发环境(Mac + Apache + Mysql + PHP)

macOS 中已经内置了 PHP、Python、Ruby、Perl 等常用的脚本语言,以及 Apache HTTP 服务器,所以使用起来非常方便。本文以最新的 macOS Sierra 10.12 配...

macos/unix下x264开发

macos/unix下x264开发x264新手入门下载x264源码videolan提供下载地址,git安装(没有git的自己装一下),终端进入你想保存源码的目录,输入:git clone git://...

MacOS上Node.js开发环境安装与测试

1.首先我们安装管理工具homebrew。打开终端,输入下面指令。 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/H...

macOS系统下搭建Android开发环境

在开始搭建Android开发环境之前,或者在学习Android开发之前,建议先学习Java入门知识。 Mac OS X系统在10.12.0起正式更名为“macOS”。 下面将从Android SD...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MacOS 开发 - NSButtonType
举报原因:
原因补充:

(最多只允许输入30个字)