概要
本文將介紹關(guān)于Radio Button(單選框)的一個(gè)簡易的Demo顷链,界面如下:
image.png
當(dāng)點(diǎn)擊不同的選項(xiàng)之后,效果如下:
image.png
image.png
image.png
一屈梁、新建工程嗤练,在StoryBoard中通過使用以下控件對(duì)ViewController進(jìn)行布局。
image.png
二在讶、在StoryBoard中煞抬,將“假裝沒看見”、“偷偷撿起來”构哺、“交給警察叔叔”等Radio Button的【Tag】對(duì)應(yīng)設(shè)置為0革答、1战坤、2.(也可以通過代碼設(shè)置)
image.png
image.png
image.png
三、使用拖拽大法生成點(diǎn)擊方法残拐,并將其余兩個(gè)也綁定于此點(diǎn)擊方法途茫。(實(shí)現(xiàn)同一時(shí)刻只有一個(gè)單選框能被選中的效果)
image.png
四、設(shè)置一個(gè)state的成員變量溪食,用來記錄當(dāng)前是那個(gè)Radio Button被選中囊卜,設(shè)置其初始值為-1,并在Radio Button的綁定方法中更新其值错沃,代碼如下边败。
#import "ViewController.h"
@interface ViewController()
@property (assign) NSInteger state;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
self.state = -1; //初始值為-1
}
- (IBAction)btn_choose:(NSButton *)sender {
self.state = sender.tag; //在這里我們獲取被單擊單選框的tag
//NSString *tmpString = sender.title; //也可以獲取其title
}
通過以上的代碼,我們每選中一個(gè)Radio Button時(shí)捎废,self.state的值會(huì)被更新,因而通過self.state的值便可以確定當(dāng)前哪個(gè)Radio Button被選中致燥。
五登疗、最后拖拽大法,設(shè)置提交按鈕的點(diǎn)擊方法嫌蚤,在其綁定的方法內(nèi)部辐益,實(shí)現(xiàn)以下代碼。
- (IBAction)btn_submit:(id)sender {
NSAlert *alert = [[NSAlert alloc] init];
alert.messageText = @"系統(tǒng)提示:";
switch (_state) {
case 0:
alert.informativeText = @"地上的一分錢不撿,紅包中的一分錢你倒是搶的挺快!";
break;
case 1:
alert.informativeText = @"快來人啊!!!這里有人偷偷撿錢啦!";
break;
case 2:
alert.informativeText = @"嗯,不錯(cuò),真是個(gè)拾金不昧的好孩子.";
break;
default:
alert.informativeText = @"你倒是選個(gè)選項(xiàng)啊,孩子!";
break;
}
[alert runModal];
}
六脱吱、Done!