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