UISwitch 開關控制項—IOS開發

來源:互聯網
上載者:User

正如分段控制項代替了選項按鈕,開關也代替了點選框。開關是到目前為止用起來最簡單的控制項,不過仍然可以作一定程度的定製化。

一、建立

UISwitch* mySwitch = [[ UISwitch alloc]initWithFrame:CGRectMake(200.0,10.0,0.0,0.0)];

是不是很奇怪,大小竟然是0.0×0.0,沒錯,系統會自動幫你決定最佳的尺寸,你自己寫的尺寸會被忽略掉,你只要定義好相對父視圖的位置就好了。關於純程式碼建立控制項請參看我的另一篇博文:《有關View的幾個基礎知識點》

二、顯示控制項

[ parrentView addSubview:mySwitch];//添加到父視圖

self.navigationItem.titleView = mySwitch;//添加到導覽列

二、開關狀態

開關狀態可以通過它的on屬性讀取,這個屬性是一個BOOL值,表示開關是否被開啟:

BOOL switchStatus = mySwitch.on;

你可以在你的代碼中用setOn方法來開啟或關閉開關:

[ mySwitch setOn:YES animated:YES];

三、通知

想要在開關狀態切換時收到通知,可以用UIControl類的addTarget方法為UIControlEventValueChanged事件添加一個動作。

[ mySwitch addTarget: self action:@selector(switchValueChanged:) forControlEvents:UIControlEventValueChanged];

這樣,只要開關一被切換目標類(上例中目標類就是當前控制器self)就會調用switchValueChanged方法,是不是很棒呢?

- (void) switchValueChanged:(id)sender{        UISwitch* control = (UISwitch*)sender;         if(control == mySwitch){            BOOL on = control.on;     //添加自己要處理的事情代碼          }}

瞭解了開關之後是不是覺得很棒呢?是不是發現有好多地方可以用到它?覺得不錯就馬上寫點代碼體驗一下吧!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.