Как настроить цвет шрифта UISegmentedControl и градиент UIToolbar? - PullRequest
2 голосов
/ 28 сентября 2011

Кажется, что UIToolbar от Apple и некоторые элементы управления, которые вы можете поместить на него, такие как UISegmentedControl, допускают очень ограниченную настройку.Например, мы хотим, чтобы наша панель инструментов выглядела примерно так:

toolbar screenshot

Однако UIToolbar имеет только одно tintColor и 3 встроенных barStyle значениячто вы можете применить к нему, поэтому мы не можем получить градиент, который мы ищем.Есть ли способ установить фоновое изображение, как и многие другие элементы управления?

Что еще хуже, UISegmentedControl не позволяет указать шрифт или цвет шрифта.Похоже, что белый Helptica 11pt с тенями отбрасывается, и белый цвет почти не читается с помощью света tintColor, который мы используем.

Я бы не хотел переписывать UISegmentedControl просто для изменения цвета текста,Но единственное решение, которое я видел , очень хакерское - оно копается в подпредставлениях подпредставлений и изменяет их свойства - похоже, перестает работать, когда Apple захочет изменить или запретить его.

Apple действительно против того, чтобы мы меняли цвет текста на наших сегментированных элементах управления, или мне здесь чего-то не хватает?

Обновление: Apple наконец-то добавила функции для настройки внешнего вида вiOS 5. См. ответ jfortmann .

1 Ответ

1 голос
/ 01 февраля 2012

Вы хотите использовать setBackgroundImage: forState: barMetrics: методы (вероятно, на вашем прокси внешнего вида), чтобы установить фоновое изображение. Текст может быть изменен с помощью setTitleTextAttributes: forState :. И, наконец, вам нужно изменить разделитель для возможных состояний с помощью setDividerImage: ...

Документы очень информативны в отношении того, как должны выглядеть изображения.

...