2011-12-22 19 views

cevap

55

ben aradığınız ne düşünüyorsunuz gibi bir şey bu

UISwitch *testSwitch; //just something I made up 
[testSwitch setOnTintColor:[UIColor greenColor]]; 
8

belki Apple sen rengini değiştirmek için izin vermedi UISegmentedControl kullanarak, kendi özel UISwitch kontrolünü yazmadan, iOS 5 öncesinde standart bir UISwitch.

özel, tesisi turuncuya rengi değişir ve siz UISwitch sınıf için bir kategori oluşturmak gerekir, ancak bu Apple gözden geçirme sürecinde onaylanmaz setAlternateColor: YES yoktur.

  1. http://osiris.laya.com/projects/rcswitch/
  2. http://www.alexcurylo.com/blog/2010/07/30/custom-uiswitch/
  3. StackOverflow Anser: https://stackoverflow.com/a/5088099/171206 (UISegmentedControl kullanarak)

iOS sunulan 4.1 - İşte

birkaç özel iOS 3.0 kullanılmak üzere UISwitch projeleri vardır 5, UISwitch artık bir onTintColor özelliğine sahiptir.

[mySwitch setOnTintColor: [UIColor blackColor]]; 
2

Son olarak, iOS5 ile anahtarın rengini onTintColor özelliği ile değiştirebilirsiniz.

UISwitch *s = [[UISwitch alloc] initWithFrame:CGRectMake(100, 100, 100, 100)]; 
s.on = YES; 
s.onTintColor = [UIColor redColor]; 
[self.view addSubview:s]; 
[s release]; 

üretmek bu

enter image description here

Ben bu yardımı umut!

35

Xcode 5 ve iOS 7'de bu nitelikler denetçisi şimdi var:

enter image description here

açık olduğundan zaman Açık Ton düğmenin rengi değişir değiştirme. enter image description here

Bunun aradığınız ne umut! Bu soruyu üç yıl önce yayınlasan bile.

+0

mükemmel. ekran görüntüleri için çok teşekkürler! – swiftBoy

7

Swift 3:

yourSwitch.onTintColor = .red 
8

Swift 3

uygulanabilir çözelti

var switcher = UISwitch() 
switcher.onTintColor = .green 
switcher.tintColor = .green 
İlgili konular