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ı";
}
}