web-dev-qa-db-ja.com

UISlider親指画像を非表示

親指の画像なしでUISliderを作成しようとしています。

どうすればこれを行うことができますか、これはこれまでの私のコードです:

UISlider *sli = [[UISlider alloc] initWithFrame:progressView.frame];
    [sli setThumbImage:nil forState:UIControlStateNormal];
    [sli setBackgroundColor:[UIColor clearColor]];

    [sli setMinimumTrackImage:[[UIImage imageNamed:@"ProgressBlueCap.png"] stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0] forState:UIControlStateNormal];
    [sli setMaximumTrackImage:[[UIImage imageNamed:@"ProgressBlueCapRight.png"] stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0] forState:UIControlStateNormal];
26
max_

はるかに簡単:

Objc

[sli setThumbImage:[[[UIImage alloc] init] autorelease] forState:UIControlStateNormal];

Swiftバージョン

sli.setThumbImage(UIImage(), for: .normal)
55
jakeboxer

最も簡単な方法は、親指の色合いの色をに設定するだけです。 Interface BuilderのClear-そのように...

enter image description here

出来上がり!

13
Jim Tierney

これは古いスレッドですが、他の誰かもそうかもしれないので見つけました。

これがSwiftでの解決策です。ここでプログラムで空白のUIImageを作成し、それを親指に割り当てています。

    let rect = CGRect(x: 0, y: 0, width: 1, height: 1)
    UIGraphicsBeginImageContextWithOptions(CGSize(width: 1, height: 1), false, 0)
    UIColor.clear.setFill()
    UIRectFill(rect)
    if let blankImg = UIGraphicsGetImageFromCurrentImageContext() {
        slider.setThumbImage(blankImg, for: .normal)
    }
    UIGraphicsEndImageContext()
8
allocate

ワンラインソリューション:

[_slider setThumbImage:[UIImage new] forState:UIControlStateNormal];
1
Praveen Sevta

UISliderをサブクラス化し、-thumbRectForBounds:trackRect:value:をオーバーライドしてNSZeroRectを返します。それでもうまくいかない場合は、-thumbImageForState:をオーバーライドしてnilを返してみてください。

0
NSResponder