UISegmentedControl не учитывает изображения разделителей, установленные для UIControlStateDisabled

Я использую новый UIAppearanceAPI в iOS 5 для стилизации UISegmentedControl с пользовательской графикой. Мне нужно иметь возможность отключать некоторые сегменты во время выполнения, но методы UIAppearance, похоже, не позволяют мне установить изображение разделителя для состояния UIControlStateDisabled.

Я звоню:

[[UISegmentedControl appearance] setDividerImage:disabledSelectedImage
                                    forLeftSegmentState:UIControlStateDisabled
                                    rightSegmentState:UIControlStateSelected
                                    barMetrics:UIBarMetricsDefault];

где disabledSelectedImage— это изображение с изменяемым размером из этого ресурса:

disabled-selected-image

Однако, когда я отключаю левый сегмент ( [UISegmentedControl setEnabled:forSegmentAtIndex: ]), результат следующий:

UISegmentedControl UI glitch

Вы можете ясно видеть, что UISegmentedControlпо умолчанию использует изображение разделителя UIControlStateNormal- UIControlStateNormal.

Кажется, я совершенно счастлив установить фоновое изображение с помощью UIControlStateDisabled

[[UISegmentedControl appearance] setBackgroundImage:disabledImage
                                    forState:UIControlStateDisabled
                                    barMetrics:UIBarMetricsDefault];

(и уважать изображение, которое я предоставляю в отключенном состоянии), но не изображение-разделитель. Кто-нибудь сталкивался с этим или нашел решение?

5
задан Ell Neal 12 March 2012 в 00:46
поделиться