Używam nowego interfejsu API UIAppearance
w systemie iOS 5 do stylu UISegmentedControl
z niestandardową grafiką. Muszę być w stanie ustalić pewne segmenty mają być wyłączone czasami w trakcie realizacji, ale metody UIAppearance
wydają się nie pozwoli mi ustawić obraz dzielnik dla państwa UIControlStateDisabled
.UISegmentedControl nie respektuje obrazów rozdzielacza ustawionych dla UIControlStateDisabled
Dzwonię:
[[UISegmentedControl appearance] setDividerImage:disabledSelectedImage
forLeftSegmentState:UIControlStateDisabled
rightSegmentState:UIControlStateSelected
barMetrics:UIBarMetricsDefault];
gdzie disabledSelectedImage
jest to zmienny rozmiar obrazu z tego zasobu:
Jednak kiedy ustawić lewy segment jest wyłączony ([UISegmentedControl setEnabled:forSegmentAtIndex:]
), to Wynik jest następujący:
Wyraźnie widać, że nie wywiązał UISegmentedControl
używać UIControlStateNormal
- UIControlStateNormal
dzielnika obrazu.
Wydaje się doskonale szczęśliwy dla mnie, aby ustawić obraz tła przy użyciu UIControlStateDisabled
[[UISegmentedControl appearance] setBackgroundImage:disabledImage
forState:UIControlStateDisabled
barMetrics:UIBarMetricsDefault];
(i szanuje obraz ja dostawę natomiast w stanie wyłączonym), ale nie obraz dzielnik. Czy ktoś natknął się na to lub znalazł rozwiązanie?
To wygląda jak błąd. Myślę, że powinieneś złożyć go na stronie bugreport.apple.com. – jfortmann
@jfortmann Myślę, że masz rację, zmieniłem przepływ na teraz, aby usunąć segmenty zamiast ich wyłączania. Wydaje się, że istnieje sporo błędów w API 'UIAppearance' dla' UISegmentedControl' –
Dziękujemy za zgłoszenie! – jfortmann