IOS UISwitch Kullanımı

IOS Control altındaki başka bir kitimiz olan UISwitch bakalım. Basit olarak değinirsek evet hayır, açık kapalı gibi işlemlerde kullandığımız bir kitimizdir..Fazla uzatmadan hemen kodumuzu yazalım..

İlk olarak kullanacağımız propertimizi @interface ViewControllerımıza yazıyoruz.

@interface ViewController ()
@property (strong,nonatomic) UISwitch *mySwitch;
@end

Evet değişkenlerimizi tanımladık addSwitch metodumuzu yazalım.

Metodumuzu @impementation ViewController içine yazıyoruz.

 -(void) addSwitch{
  //UISwitchden örneğimizi alıyoruz
  self.mySwitch =[[UISwitch alloc] initWithFrame:CGRectMake(100, 100, 0, 0)];
  //ve ekranda gözükmesini sağlayalım
  [self.view addSubview:self.mySwitch];
 }

Son olarak viewDidLoadımıza addSwitch Metodumuzu ekleyelim.

 -(void)viewDidLoad {
    [super viewDidLoad];
    [self addSwitch];
 }

Eğer Switchimizin rengini değiştirmek istiyorsak addSwitch metodumuzun içine;

 -(void) addSwitch{
  //..
  //off halindeki border rengimiz
  self.mySwitch.tintColor = [UIColor redColor];
  //on halindeki rengimiz
  self.mySwitch.onTintColor =[UIColor yellowColor];
  //switchimizin kendi rengini belirliyoruz
  self.mySwitch.thumbTintColor =[UIColor blackColor];
 }

Switchmiz açık olduğu zaman "Açık", kapalı olduğu zaman "Kapalı" ekrana yazan basit bir örnek yapalım. Ek olarak label değişkenimizi ekleyelim.

 @interface ViewController ()
 @property (strong,nonatomic) UISwitch *mySwitch;
 //Ek olarak labelimizi ekliyoruz
 @property (strong,nonatomic) UILabel *myLabel;
 @end

addSwitch metodumuza changed eventimizi ekliyoruz. Ve switchChanged eventimizi yazıyoruz.

 -(void) addSwitch{
    self.mySwitch =[[UISwitch alloc] initWithFrame:CGRectMake(100, 100, 0, 0)];
    //Labelimizi de ekleyelim
    self.myLabel =[[UILabel alloc] initWithFrame:CGRectMake(175, 108, 50, 20)];
    [self.view addSubview:self.myLabel];
    [self.view addSubview:self.mySwitch];
    //Switchmiz ve Labelimize başlagıç değerlerini verelim
    [self.mySwitch setOn:YES];
    self.myLabel.text=@"Açık";
    [self.mySwitch addTarget:self action:@selector(switchChanged:) 
    forControlEvents:UIControlEventValueChanged];
 }
 -(IBAction)switchChanged:(UISwitch *)sender{
    if ([sender isOn] ) {//Açıksa buraya girsin
      self.myLabel.text=@"Açık";
    }else{
      self.myLabel.text=@"Kapalı";
    }
 }