macOS NSSwitch简单使用

做iOS和macOS开发的小伙伴都知道,苹果经常使用的新的控件取代旧的控件,本篇文章讲述的也是一个macOS10.15前可用的开关控件(部分情况下会报错)。但在这里的demo是可以运行的

我们先看效果图:

这里的0就是关闭状态,1是打开状态

接着我们就上代码:

复制代码
#import "ViewController.h"

@interface ViewController ()

//NSSwitch
@property (nonatomic, weak) NSSwitch *SW_btn;

@end

@implementation ViewController

#pragma mark 懒加载 macos

-(NSSwitch*)SW_btn{
    if(!_SW_btn){
        NSSwitch *btn = [[NSSwitch alloc] init];
        [self.view addSubview:btn];
        _SW_btn = btn;
    }
    return _SW_btn;
}

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do view setup here.
 CGFloat btnX = 100;
       CGFloat btnY = 100;
       CGFloat btnW = 80;
       CGFloat btnH = 44;
       self.SW_btn.frame = CGRectMake(btnX, btnY, btnW, btnH);
    [self.SW_btn setAction:@selector(onSwitchValueChange:)];//点击事件
}

- (void)onSwitchValueChange:(NSSwitch *)sender {
    NSLog(@"点击了我666:%ld",(long)sender.state);
}
复制代码

我们还可以优化一下点击方法的判断

- (void)onSwitchValueChange:(NSSwitch *)sender {
//    NSLog(@"点击了我666:%ld",(long)sender.state);
    if(sender.state == 1){
        NSLog(@"开关开启");
    }else{
        NSLog(@"开关关闭");
    }
}

我们键盘按住commend键或者win键鼠标点击NSSwitch进入控件信息可以看到

NSSwitch也是只有一个状态开启而已

posted on   高彰  阅读(121)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示