2017-04-20 3 views
0

Ich erstellte eine UISlider, die verschiedene benutzerdefinierte Bilder für minimale und maximale Spur hat.UISlider benutzerdefinierte Spur Bild nicht richtig einrichten

Dies ist der Normalzustand für UISlider

Aber wenn ich gleiten die UISlider zweite Bild ist gebrochen. Es ist nicht richtig eingerichtet.

Kann mir jemand sagen, was ist falsch?

Heres mein Code:

slider = [[UISlider alloc] initWithFrame:CGRectMake(24, 24, [VTUIKit screenWidth] - 48, 10)]; 
    slider.tintColor = kVTColorTurquoise500; 
    [slider setBackgroundColor:[UIColor clearColor]]; 
    numbers = @[@(0.5), @(1), @(2.5), @(5), @(10), @(25), @(50), @(100), @(200), @(500), @(999)]; 
    NSInteger numberOfSteps = ((float)[numbers count] - 1); 

    slider.maximumValue = numberOfSteps; 
    slider.minimumValue = 0; 
    slider.continuous = YES; 

    UIImage *stetchLeftTrack = [[UIImage imageNamed:@"Map-Range-Active"] 
           stretchableImageWithLeftCapWidth:5 topCapHeight:0.0]; 
    UIImage *stetchRightTrack = [[UIImage imageNamed:@"Map-Range"] 
           stretchableImageWithLeftCapWidth:5 topCapHeight:0.0]; 
    [slider setMinimumTrackImage:stetchLeftTrack forState:UIControlStateNormal]; 
    [slider setMaximumTrackImage:stetchRightTrack forState:UIControlStateNormal]; 

    [slider addTarget:self action:@selector(sliderValueChanged:) forControlEvents:UIControlEventValueChanged]; 
    [self.bottomContainerView addSubview:slider]; 

Jede Hilfe sehr geschätzt werden würde. Vielen Dank im Voraus.

+0

Gibt es jemanden, der mir helfen kann? –

Antwort

0

Ok nach so vielen Versuch und Irrtümern und Beziehen so vieler Antworten habe ich meine Antwort bekommen. Um ein ähnliches UISlider wie meine haben, hatte ich minimale und maximale Spur Bild zu setzen, wie

folgen
UIImage * stetchLeftTrack = [[UIImage imageNamed:@"leftImage"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)]; 
UIImage * stetchRightTrack = [[UIImage imageNamed:@"rightImage"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)]; 

Aber hier der Haken ist, dass beide Bilder gleiche Größe (Breite) als Schieber auf exakte haben.

Also, das ist, wie ich mein Problem los wurde.