SORU
16 ŞUBAT 2010, Salı


UİSegmentedControl seçilen parça rengi

UISegmentedControl seçili segment renk özelleştirmek için herhangi bir yolu var mı?

Bütün parçalı denetiminin bana özelleştirmek renk sağlar segmentedController.tintColor özellik buldum. Sorun olduğunda ben parlak renk seçmek için tintColor özellik, seçilen parça haline gelir neredeyse tanınmaz (rengi neredeyse aynı kalan parçalı kontrol, çok zor ayırt seçili ve seçilmemiş parça). Yapamam parçalı kontrol için herhangi bir iyi parlak renkler kullanın. Çözüm seçilen parça rengi için ayrı bir özelliği olacağını düşünüyorum. Herkes bu çözmek mi?

CEVAP
9 Mayıs 2011, PAZARTESİ


Burada değiştirmek için mutlak en kolay yolusegment seçilirherhangi bir RGB renk için. Hayır sınıflara ya da kesmek gerekir.

segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;

UIColor *newTintColor = [UIColor colorWithRed: 251/255.0 green:175/255.0 blue:93/255.0 alpha:1.0];
    segmentedControl.tintColor = newTintColor;

UIColor *newSelectedTintColor = [UIColor colorWithRed: 0/255.0 green:175/255.0 blue:0/255.0 alpha:1.0];
[[[segmentedControl subviews] objectAtIndex:0] setTintColor:newSelectedTintColor];

Bu örnek önemli adımları gösterir:

  1. Kontrol stilini ayarlar "Bunun için gerekli olan", StyleBar çalışmak için
  2. BM-seçilen renk ayarlar portakal için tüm kontrol ilk
  3. Seçilen rengi ayarlar yeşil segment

Notlar:

  • Adım 1 ve 2'de yapılabilir ınterface builder veya Kodu gösterilir. Ancak adım 3 sadece yapılabilir kod
  • Renk değerlerini ayarlayın bu gösterimde "123.0/255,0 arasındadır" RGB yapmak için sadece bir yol değerleri bunun yerine normalize öne kayan noktalı değişkenler UİColor gerektirdiği (sadece eğer istersen Yoksay)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ASUS Campus Life

    ASUS Campus

    18 Mart 2013
  • Damien Hayes

    Damien Hayes

    11 Mart 2008
  • 趣味そうこ♪

    趣味そう

    3 Mart 2010