#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 : Всегда пожалуйста. Я хотел бы помочь вам решить вашу проблему.