UISlider 设置带角的图像

din*_*nna 4 objective-c uislider ios

在这里我需要圆角 uslider 但当我尝试设置图像时它显示矩形图像,

我需要这样的图片在此输入图像描述

这是我的编码

UIImage *volumeBackgroundImage = [[UIImage imageNamed:@"l2.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(9, 5, 7, 5)];
    [self.audioSlider setMinimumTrackImage:[[UIImage imageNamed:@"l1.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(9, 5, 7, 5)]
                               forState:UIControlStateNormal];
    [self.audioSlider setMaximumTrackImage:volumeBackgroundImage
                               forState:UIControlStateNormal];
    [self.audioSlider setThumbImage:[UIImage imageNamed:@"sliderhandle.png"]
                        forState:UIControlStateNormal];
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助实现这一目标

Gun*_*nds 5

您需要有圆角的图像。例如: 在此输入图像描述

然后简单地使用这个图像,如下所示:

[_slider setMinimumTrackImage:[[UIImage imageNamed:@"black_dot.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(12, 12, 12, 12)]
    forState:UIControlStateNormal];

[_slider setMaximumTrackImage:[[UIImage imageNamed:@"blue_dot.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(12, 12, 12, 12) 
    forState:UIControlStateNormal];
Run Code Online (Sandbox Code Playgroud)

(其中 black_dot.png 是示例图像,blue_dot.png 相同,但颜色为蓝色)

(如果图像像素化 - 那么您需要将此图像放大两倍 - 视网膜图像 - black_dot@2x.png

(或者,如果您实际上需要比给定示例更小的图像,则只需将此图像重命名为black_dot@2x.png,而不是 : UIEdgeInsetsMake(12, 12, 12, 12) 使用 : UIEdgeInsetsMake(6, 6, 6, 6)

在此处查看更多信息:/sf/answers/605935151/