2014-09-09 3 views
0

В iOS7, если я установил enabled = NO в UISlider, он автоматически размывается.Предотвратите эффект размытия на отключенном UISlider

enabled and disabled (blurred) slider

Есть ли способ предотвратить это размытие?

Я мог бы установить userInteraction = NO на вид, чтобы игнорировать касания, но в идеале я хотел бы иметь возможность включить разрешенное состояние слайдера, чтобы я мог настроить ползунок для состояния UIControlStateDisabled.

ответ

1

Подкласс UISlider и переопределить метод setEnabled: без вызова [super setEnabled: enabled]. Вам нужно будет синтезировать ivar для включенного свойства и вручную установить ivar в правильное состояние:

@implementation STKSlider 
@synthesize enabled = _enabled; 

- (void)setEnabled:(BOOL)enabled 
{ 
    _enabled = enabled; 

    // Add custom state logic here 
} 
+1

Nice. Да, по умолчанию для 'enabled' теперь' NO'. Единственным недостатком является то, что '- [UISlider setThumbImage: image forState: UIControlStateDisabled]' не работает и должен быть установлен вручную в методе 'setEnabled'. –

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