, ben şöyle bir etki yaratmak için arka plan resimleri ile UISegmentedControl
kullandık:Tüm eyaletler için arka plan resimleri ayarladığımda neden UISegmentControl bölümlerim iOS 8'de vurgulanıyor? iOS 6/7 yılında
Öyle gibi standart durumlarında her UISegmentedControl
için arka plan görüntüsü ayarlayarak bu başarılabilir : bir bölüm seçme olur ya vurgulandığında
UIImage *segmentedControlBackgroundImage = [UIImage imageNamed:@"profileSegmentedControlBackground"];
UIImage *segmentedControlBackgroundSelectedImage = [UIImage imageNamed:@"profileSegmentedControlBackgroundSelected"];
[self.segmentedControl setBackgroundImage:segmentedControlBackgroundImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[self.segmentedControl setBackgroundImage:segmentedControlBackgroundImage forState:UIControlStateDisabled barMetrics:UIBarMetricsDefault];
[self.segmentedControl setBackgroundImage:segmentedControlBackgroundSelectedImage forState:UIControlStateHighlighted barMetrics:UIBarMetricsDefault];
[self.segmentedControl setBackgroundImage:segmentedControlBackgroundSelectedImage forState:UIControlStateSelected barMetrics:UIBarMetricsDefault];
, bu altından güzel mavi bar vardır ve ben metin rengi mavi metin rengini değiştirmek için özellikleri ayarlayın. Bölücüler için fazladan bir kod var, ama bunun alakasız olduğunu düşünüyorum.
Sorunum, iOS 8'de, segmentin arka planının griye dönüşmesine ve kötü görünmesine neden olan birkaç eylemin var olmasıdır; Seçiminizi değiştirdiğinizde, geçiş yaptığınız hücre geçiş tamamlanana kadar griye döner, diğeri ise önceden seçilmiş bir segmente dokunup basılı tutarsanız griye döner. Her ikisi de aynı görünür ve aşağıda görülebilir. muhtemelen ilgili bilgilerin
Bazı ekstra parçalar:
- segmentedControl için
tintColor
BenUISegmentedControl
- sınıflara değilim
- Ben hiçbir özelliklerini değişmemiştir açıktır
UISegmentedControl
görünüm proxy kullanarak - için 1 nokta geniş görüntü kullanıyorum E arka plan resimleri ve
UISegmentedControl
otomatik capInsets belirlenmesi ve imajını
olacağını. Problemine bir çözüm buldun mu? – GraemeArthur
Hayır. Yapabileceğim en iyi şey, sekmeleri değiştirdikten sonra ana iş parçacığında çok az şey olmasını sağlamaktı, böylece mümkün olduğunca az zaman için yanlış bir şekilde ortaya çıktı. – Acey