2015-08-20 3 views
0

Как я уверен, вы все знаете, когда вы отключили кнопку или слайдер или что-то еще в iOS, элемент управления немного потускнет, чтобы показать, что он отключен. Как я могу остановить это? Я попытался заставить альфа вернуться к 1 после того, как управление отключено, но это не сработало. Каков наилучший способ решения этой проблемы?Отключить эффект затемнения для отключенных элементов в iOS

Спасибо!

Edit: Существует также любопытное поведение, где, если я изложу альфа непосредственно на кнопку или слайдер будет remaind серым цветом, но один из моих взглядов родителей имеет этот код и он как-то обходит затемнение:

NSArray* childViews = [self.view subviews]; 
for (UIView* childView in childViews) 
{ 
    float alpha = 1; 
    if (self.expanded) 
    { 
     alpha = 0; 
    } 

    [childView setAlpha:alpha]; 
} 

WTF?

ответ

0

Я не думаю, что для системных элементов управления, таких как ползунки, есть переключатели, но вы можете попытаться установить свойство userInteractionEnabled на NO для достижения аналогичного эффекта.

+0

Хотя это отключает фактическое управление, оно не переключается в отключенное состояние, которое я хотел бы выглядеть отличным от нормального состояния. – SpaceBear

+1

Ну тогда подкласс управления и реализовать свое собственное состояние. – deadbeef

+0

Это уже подкласс :) Это возможное решение, я могу просто отключить изображения, а что не я. Спасибо за предложение. – SpaceBear

0

Если вы используете Interface Builder, вы можете настроить состояние с отключенным состоянием в инспекторе атрибутов (cmd + alt + 4). Если вы установили цвет текста того же цвета, что и цвет для состояния по умолчанию (но не через «Цвет по умолчанию», а с помощью набора цветов), ваша кнопка будет выглядеть одинаково для состояния «Отключено», как для состояния по умолчанию.

Однако вы не должны отключать эффект затемнения, так как это плохо для пользовательского интерфейса вашего приложения.

+0

Я не думаю, что слайдеры могут быть настроены для отключенного состояния через Interface Builder. Вы можете через код, хотя, и затемнение все еще происходит. – SpaceBear

Смежные вопросы