【问题标题】:Changing Background Image of UISlider?更改 UISlider 的背景图像?
【发布时间】:2017-03-29 03:01:59
【问题描述】:

我需要更改UISlider 的背景,我的目标是创建如下图所示的 UISlider:

我试过setBackgroundImage的方法,但它就像滑块的框架。

如何更改滑块的背景图片?

【问题讨论】:

  • 贴出你的代码,我们才能看懂

标签: ios uislider


【解决方案1】:

1. 在滑块下方添加相同尺寸的图像视图。将您的多色图像设置为它。

2. 使用透明图片作为左右滑块图片

   UIImage *clearImage = [[UIImage imageNamed:@"clearSliderBar.png"] stretchableImageWithLeftCapWidth:14.0 topCapHeight:0.0];
    [slider setMinimumTrackImage:clearImage forState:UIControlStateNormal];
    [slider setMaximumTrackImage:clearImage forState:UIControlStateNormal];

【讨论】:

  • 你不需要一个明确的透明图像,名为 clearSliderBar,你可以做 [[UIImage alloc] init];并且图像将是透明的。
  • 感谢@KaanDedeoglu 的信息。我也会更新我的代码:-)
【解决方案2】:

已接受答案的快速 Swift 3 翻译。请记住在使轨道图像透明之前在滑块后面添加自定义颜色/视图。

let slider = UISlider()
let clearImage = UIImage().stretchableImage(withLeftCapWidth: 14, topCapHeight: 0)
slider.setMinimumTrackImage(clearImage, for: .normal)
slider.setMaximumTrackImage(clearImage, for: .normal)

【讨论】:

    【解决方案3】:

    您是否尝试过here 接受的答案?它成功了:

    UIImage *sliderLeftTrackImage = [[UIImage imageNamed: @"SliderMin.png"] stretchableImageWithLeftCapWidth: 9 topCapHeight: 0];
    UIImage *sliderRightTrackImage = [[UIImage imageNamed: @"SliderMax.png"] stretchableImageWithLeftCapWidth: 9 topCapHeight: 0];
    [mySlider setMinimumTrackImage: sliderLeftTrackImage forState: UIControlStateNormal];
    [mySlider setMaximumTrackImage: sliderRightTrackImage forState: UIControlStateNormal];
    

    【讨论】:

      【解决方案4】:

      要将图像设置为滑块,您可以使用 setMinimumTrackImage、setMaximumTrackImage 方法。根据您的要求,将两者都设置为相同的图像。

        UIImage *slider = [[UIImage imageNamed: @"Slider.png"] stretchableImageWithLeftCapWidth: 7 topCapHeight: 0];
      
        [mySlider setMinimumTrackImage: slider forState: UIControlStateNormal];
        [mySlider setMaximumTrackImage: slider forState: UIControlStateNormal];
      

      更多信息请查看以下链接:

      http://jasonlawton.com/blog/customizing-uislider-in-iphone/

      Custom Slider

      Another Custom code

      Custom with Popover value display Slider

      Slider image

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-01-09
        • 2020-12-16
        • 2011-12-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多