Я использую новый 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];
(и уважает изображение, которое я предоставляю в отключенном состоянии), но не изображение разделителя. Кто-нибудь сталкивался с этим или нашел решение?
UIAppearance
API дляUISegmentedControl
довольно много ошибок. - person Ell Neal   schedule 12.03.2012