macOS UI 选择!Check Boxes

选择!Check Boxes

Check Boxes 是一个可以多重选择也能显示多重选择的物件,所以使用者也可以对Check Boxes不做选择或是多重选择(全选)。

增加 Check Boxes

将上图中的Library面版的Check Box拖拉的方式至Layout画面,如果需要更多的Check Boxes就照同样步骤将多个物件拖拉的方式至Layout画面。

设定 Check Boxes 状态及标题

上图2个框框处为状态与标题,状态设定总共有三个状态供选择:

  • On 勾选
  • Off 取消勾选

Mixed选项在这也是不使用,标题的内容直接输入你要显示的文字内容即可。

变更Check Boxes 显示方式

这里要特别说明的是,Check Boxes可以更改显示的方式,也就是说勾选与标题显示可以选择显示方式,下图红框处的图示中(Position),选择就可以改变显示方示。

图示所代表的意思如下:

白色框框代表勾选的框框,黑色线代表的是文字内容,举个例子:如果我选择的是:

代表的是文字在左,勾选框在右,所以显示如下:

程式侦测 Check Boxes

标头档(.h)宣告使用到的Action名称

//-----------start-----------
- (IBAction)actionCheckBoxes:(id)sender;
//------------end------------

程式档(.m)

//-----------start-----------
- (IBAction)actionCheckBoxes:(id)sender {

    NSButtonCell *selCell = [sender selectedCell];
    NSLog (@"Title cell is %@ state is %ld", selCell.title, selCell.state);
}
//------------end------------

关联

将IBAction事先宣告完成时,点选Check Box区块并按下滑鼠右键可以看到事件供选择,利用它来选择Send Actions的select,将select右边小圈圈拉到App Delegate后,就能选择刚建立的actionCheckBoxes的method后完成连动。

上图为开始进行关联的滑鼠拖拉动作

选到App Delegate时,Xcode会去寻找未使用的IBAction宣告并将它列出来供选择,这只有宣告一组,会看到actionCheckBoxes。

完成后能看到上图有变化,这代表关联完成。

执行测试

程式会印出状态变更的Check Box的标题以及勾选的状态,当在勾选状态为1,未勾选状态为0

2014-07-23 23:45:21.008 Check Boxes Demo[31246:303] Title cell is Check state is 0
2014-07-23 23:45:21.693 Check Boxes Demo[31246:303] Title cell is Check state is 1