У меня есть простой сегментированный элемент управления на панели инструментов. Имеет черный оттенок. Когда выбран один из сегментов, нет визуального индикатора, чтобы показать это. Теперь обычно он затемняет выбранный сегмент, но вы не можете затемнить черный. Когда нажата обычная кнопка на панели кнопок, она становится светло-серой, указывая на то, что она нажата. Как я могу сделать то же самое для сегментированного элемента управления?
Как я могу сделать так, чтобы черный UISegmentedControl отображался с видимой подсветкой выделения?
Ответы (2)
Вы можете поиграть с tintColor
NSString *firstStr = @"ABC";
NSString *secondStr = @"Catégories";
NSArray *arTemp = [[NSArray alloc] initWithObjects:firstStr, secondStr, nil];
UISegmentedControl *segment = [[UISegmentedControl alloc] initWithItems:arTemp];
[arTemp release];
arTemp = nil;
segment.segmentedControlStyle = UISegmentedControlStyleBar;
segment.tintColor = [UIColor darkGrayColor];
Вы смотрели на новый прокси внешнего вида ios5? Это должно быть в состоянии помочь вам.
Если вам также нужна поддержка до ios5, я видел, что достаточно легко создать свой собственный сегментированный элемент управления — что-то столь же простое, как набор кнопок с пользовательскими фоновыми изображениями (и отмена выбора других кнопок при выборе одной кнопки). ) или более тщательный подход, как описано в этом сообщении на idevrecipes.com
На сайте по ссылке выше также есть хорошее обсуждение того, как сделать изображения кнопок для сегментированного элемента управления с обрезанными заглавными буквами.
Третья идея заключается в том, что вы берете обычный сегментированный элемент управления, устанавливаете оттенок серого чуть светлее черного, а затем играете с сенсорными событиями (подкрашивание внутри, подкрашивание снаружи), чтобы в основном изменить нормальное поведение сегментированного элемента. элемент управления, заставляя черную кнопку на элементе управления вести себя так, как будто она выбрана. Однако я думаю, что это будет противоречить намерениям Apple (хотя это то, что делает новое приложение «Напоминания» в iOS5), и я не пробовал его, чтобы увидеть, есть ли какой-то тонкий нюанс, из-за которого это не работает.
Я хотел бы услышать, как вы в конечном итоге справитесь с этим. Удачи!