2017-04-20 87 views
0

我创建了一个UISlider,它具有用于最小和最大曲目的不同自定义图像。UISlider自定义曲目图像没有正确设置

这是为UISlider

正常状态但是,当我滑动UISlider秒图像被破坏。 它没有正确设置。

谁能告诉我什么是错呢?

继承人我的代码:

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]; 

任何帮助将非常感激。 在此先感谢。

+0

有没有人可以帮助我? –

回答

0

好吧,经过这么多的试验和错误,并提到这么多的答案我得到了我的答案。 为了有一个类似UISlider喜欢我,我必须设置最小和最大的路径图像如下

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

但这里的前提条件是,使得两个图像具有完全相同的尺寸(宽度)为滑块。

那么,多数民众赞成我是如何摆脱我的问题。

相关问题