Я пытаюсь сделать UISlider такими, которые оживляют, когда их нельзя использовать.
Вот код моего подкласса UISlider:
- (void)setSymbol:(NSString *)s {
symbol = s;
float newValue = [[S76PresetManager sharedManager] getValueForKey:symbol];
[self setValue:newValue animated:YES];
if (symbol == @"" || symbol == @"e_none") {
// gray out the slider
[self setUserInteractionEnabled:NO];
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.5];
[self setAlpha:0.5];
[UIView commitAnimations];
} else {
// reactivate the slider
[self setUserInteractionEnabled:YES];
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.5];
[self setAlpha:1.0];
[UIView commitAnimations];
}
}
Если для свойства символа ползунка установлено значение @ "" или @ "e_none", оно будет затенять ползунок и не будет интерактивным.Однако в некоторых случаях строка [self setValue:newValue animated:YES]
, похоже, "отменяет" анимацию setAlpha.
Есть ли способ одновременно установить значение ползунка и изменить его альфа с помощью анимации UIView?
Заранее спасибо.