Имам проста сегментирана контрола в лента с инструменти. Има черен нюанс. Когато един от сегментите е избран, няма визуален индикатор, който да показва това. Сега обикновено ще потъмни избрания сегмент, но не можете да потъмните черното. Когато се натисне нормален бутон на лентата с бутони, той става по-светлосив, за да покаже, че е натиснат. Как мога да направя същото за сегментирания контрол?
Как мога да накарам черен 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 (въпреки че това прави новото приложение Reminders в iOS5) и не съм го пробвал, за да видя дали има някакъв фин нюанс, който би накарал това да не работи.
Бих искал да чуя как ще се справиш с това. Късмет!