Буквы в UISegmentedControl, похоже, ухудшаются

#iphone #xcode4 #ios5

#iPhone #xcode4 #ios5

Вопрос:

введите описание изображения здесь

Рассмотрим приведенные выше снимки экрана

Самая верхняя была сгенерирована при запуске программы с начальным свойством alpha, установленным на 0,86 в IB. Средний — это тот же UISegmentedControl, для свойства alpha которого установлено то же значение при следующем вызове сообщения во время выполнения.

 [segmented_control setAlpha : 0.86];
  

И самый низкий — это тот же элемент управления, для которого во время выполнения установлено значение 1.00, как показано ниже.

 [segmented_control setAlpha : 1.00];
  

Похоже, что вызов setAlpha хорошо работает только при 1,00, поскольку буквы на среднем снимке экрана, похоже, ухудшаются при любых значениях меньше 1.

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

Пытались переключаться с помощью вызовов «setOpaque», «setHidden» и изменения альфа-значения на другие цифры, но проблема сохраняется. Поскольку это можно сделать в IB (как показано на снимке экрана вверху), я думаю, это можно было бы сделать и в коде. Надеюсь, что кто-нибудь может дать мне несколько советов по этому поводу…

Ответ №1:

Попробуйте воздействовать на свойство непрозрачности CALayer элемента управления.

 theControl.layer.opacity = 0.86;
  

Комментарии:

1. Спасибо за комментарий. Попробовал инструкцию .opacity = 0.86, к сожалению, это не работает. Результат такой же, как на втором снимке экрана выше. Также попробовал вызов «setNeedsDisplay» сразу после инструкции .opacity, и результат тот же.

2. @Stanley : Всегда пожалуйста. Я хотел бы помочь вам решить вашу проблему.