muZZkatのカスタム範囲スライダーを使用しています:NMRangeSlider @ github 1
しかし、スライダーをフェードする必要があります。範囲スライダーを作成するとき、それをコンテンツビューに配置します。コンテンツビューのアルファを.7に設定してみました
UIView *sliderView = [self configureLabelSliderWithSize:CGSizeMake(300, 70)];
sliderView.alpha = .4;
しかし、それは望ましい効果を与えません:
また、UIImageView
upperHandleとlowerHandleがフェードアウトし、背景トラック(青い部分)が表示されます。ハンドルのアルファを高くして、後ろの青い部分が見えないようにします。
レンジャースライダークラスにメソッドを追加してみました。
-(void)toggleAlpha {
self.trackBackground.alpha = .3;
self.track.alpha = .3;
self.lowerHandle.alpha = .3;
self.upperHandle.alpha = .3;
}
しかし、これはアルファをまったく変更しません。
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];
}
ここでアルファを低く設定すると、機能します。
他の場所からアルファを変更できない理由がわかりませんか?