iOS7_關於UISwitch_02_如何自定義UISwitch_如何設定UISwitch的默認開關狀態_如何監聽 Switch開關狀態


前言

上一篇博文,我們介紹了一下如何實現 UISwitch ,我們這次介紹下如何自定義 UISwitch。

原文連接:http://www.cnblogs.com/LeoYoung/p/qq907596253.html

正文

1、我們先在界面上實現一個 UISwitch。

     a>在 控制器.m 文件中,添加一個UISwitch的屬性。

 1 @interface moboViewController ()

@property (nonatomic, strong) UISwitch *mainSwtich;

@end 

b>在 - (void)viewDidAppear 方法中實例化一個 UISwitch 並添加到界面上。

 

 1 - (void)viewDidAppear:(BOOL)animated  2 {  3  [super viewDidLoad];  4     
 5     self.mainSwtich = [[UISwitch alloc]initWithFrame:CGRectMake(100, 100, 0, 0)];//實例化,坐標為 x100,y100  6     
 7  [self.view addSubview:self.mainSwtich];   //添加到界面
 8 }

 

2、自定義開關顏色:

我們首先按住 cmd,進入UISwitch頭文件。看到三個屬性:

UIColor *onTintColor  // 開啟時顏色

 

 

UIColor *tintColor    // 關閉時顏色

 

UIColor *thumbTintColor // 開關按鈕顏色

下面我們來自定義一下,在- (void)viewDidAppear中添加如下代碼:

1     self.mainSwtich.thumbTintColor = [UIColor colorWithRed:(151./255.0) green:(81./255.0) blue:(229./255.0) alpha:1]; 2     
3     self.mainSwtich.tintColor = [UIColor colorWithRed:(51./255.0) green:(181./255.0) blue:(229./255.0) alpha:1]; 4     
5     self.mainSwtich.onTintColor = [UIColor colorWithRed:(51./255.0) green:(181./255.0) blue:(229./255.0) alpha:1];

注:我們用到了UIColor 類的 colorWithRed:green:blue: 方法,這個方法的色值是浮點型,所以必須用"色值./255.0",色值最好后面帶一個 . ,顯得專業一點~~~

      另外色值轉換神馬的,有一個網站支持在線轉換:http://www.atool.org/colorpicker.php

3、我們來設定UISwitch的默認開關狀態:

這個很簡單,在 - (void)viewDidAppear方法中添加如下代碼:

 1 [self.mainSwtich setOn:YES animated:YES]; 

 

4、監聽 UISwitch 的開關狀態:

 1 [self.mainSwtich addTarget:self action:@selector(switchIsChanged:) forControlEvents:UIControlEventValueChanged]; 

再在- (void) viewDidAppear 下面,實現一下 switchIsChanged 方法:

1 - (void)switchIsChanged:(UISwitch *)paramSender 2 { 3     if ([self.mainSwtich isOn]) { 4         NSLog(@"Switch is on"); 5  } 6     else{ 7         NSLog(@"Switch is off"); 8  } 9 }

 

CMD+R跑一下,點一點 開關,觀察控制台就可以看得到控制台的打印結果了!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM