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也是只有一个状态开启而已