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 2023-11-02 16:10  高彰  阅读(85)  评论(0编辑  收藏  举报

导航