我正在使用 muZZkat 的自定义范围滑块:NMRangeSlider@github 1
但我需要淡化滑块。当我创建范围滑块时,我将其放入内容视图中。我尝试将内容视图的 alpha 设置为 0.7
UIView *sliderView = [self configureLabelSliderWithSize:CGSizeMake(300, 70)];
sliderView.alpha = .4;
但它没有产生预期的效果:
upperHandleUIImageView
和 lowerHandle 也淡出显示背景轨道(蓝色部分)。我宁愿让手柄的 alpha 更高,这样你就看不到它后面的蓝色部分。
我尝试向游侠滑块类添加一个方法:
-(void)toggleAlpha {
self.trackBackground.alpha = .3;
self.track.alpha = .3;
self.lowerHandle.alpha = .3;
self.upperHandle.alpha = .3;
}
但这根本不会改变 alpha。
UIImageViews 都在-(void)addSubviews
方法中初始化:
- (void) addSubviews
{
//------------------------------
// Track Brackground
self.trackBackground = [[UIImageView alloc] initWithImage:self.trackBackgroundImage];
self.trackBackground.frame = [self trackBackgroundRect];
//------------------------------
// Track
self.track = [[UIImageView alloc] initWithImage:self.trackImage];
self.track.frame = [self trackRect];
//------------------------------
// Lower Handle Handle
self.lowerHandle = [[UIImageView alloc] initWithImage:self.lowerHandleImageNormal highlightedImage:self.lowerHandleImageHighlighted];
self.lowerHandle.frame = [self thumbRectForValue:_lowerValue image:self.lowerHandleImageNormal];
//------------------------------
// Upper Handle Handle
self.upperHandle = [[UIImageView alloc] initWithImage:self.upperHandleImageNormal highlightedImage:self.upperHandleImageHighlighted];
self.upperHandle.frame = [self thumbRectForValue:_upperValue image:self.upperHandleImageNormal];
[self addSubview:self.trackBackground];
[self addSubview:self.track];
[self addSubview:self.lowerHandle];
[self addSubview:self.upperHandle];
}
如果我在这里将它们的 alpha 设置得较低,它就可以工作。
我不明白为什么我不能从其他任何地方更改 alpha?