Я использую новый UIAppearance
API в iOS 5 для стилизации UISegmentedControl
с пользовательской графикой. Мне нужно иметь возможность отключать некоторые сегменты во время выполнения, но методы UIAppearance
, похоже, не позволяют мне установить изображение разделителя для состояния UIControlStateDisabled
.
Я звоню:
[[UISegmentedControl appearance] setDividerImage:disabledSelectedImage
forLeftSegmentState:UIControlStateDisabled
rightSegmentState:UIControlStateSelected
barMetrics:UIBarMetricsDefault];
где disabledSelectedImage
— это изображение с изменяемым размером из этого ресурса:
Однако, когда я отключаю левый сегмент ( [UISegmentedControl setEnabled:forSegmentAtIndex: ]
), результат следующий:
Вы можете ясно видеть, что UISegmentedControl
по умолчанию использует изображение разделителя UIControlStateNormal
- UIControlStateNormal
.
Кажется, я совершенно счастлив установить фоновое изображение с помощью UIControlStateDisabled
[[UISegmentedControl appearance] setBackgroundImage:disabledImage
forState:UIControlStateDisabled
barMetrics:UIBarMetricsDefault];
(и уважать изображение, которое я предоставляю в отключенном состоянии), но не изображение-разделитель. Кто-нибудь сталкивался с этим или нашел решение?