自定义 UISlider 拇指图标:如何阻止拇指图标在拖动时恢复为默认圆形图标?
Posted
技术标签:
【中文标题】自定义 UISlider 拇指图标:如何阻止拇指图标在拖动时恢复为默认圆形图标?【英文标题】:Customizing UISlider thumb icon: How to stop thumb icon from reverting back to default circle icon when drag? 【发布时间】:2015-12-17 22:58:27 【问题描述】:我想将 UISlider 的拇指自定义为我制作的矩形图标。我已经设法做到了。问题是当我拖动 UISlider 时,它会变回默认的圆形图标。
如何设置拇指图像,使其即使在拖动时也始终保持为自定义矩形图标?
我已经详细说明了我的代码并包含了一个链接,因此您可以在下面看到我在说什么。
class DrawViewController: UIViewController
var heightSlider: UISlider = UISlider()
var fontColor: UIColor = UIColor(red:0.91, green:0.91, blue:0.91, alpha:1.0)
var barButtonColor: UIColor = UIColor(red:0.03, green:0.25, blue:0.51, alpha:1.0)
override func viewDidLoad()
super.viewDidLoad()
heightSlider = UISlider(frame: CGRectMake(0, 20, 98, 31))
heightSlider.minimumTrackTintColor = barButtonColor
heightSlider.maximumTrackTintColor = fontColor
heightSlider.thumbTintColor = barButtonColor
heightSlider.setThumbImage(UIImage(named: "blueSliderThumbHeight")!, forState: .Normal)
self.view.addSubview(heightSlider)
To see my app/what I'm talking about
【问题讨论】:
奇怪,基本上这段代码应该可以运行.....你为什么没有这样的出口:'@IBOutlet weak var progressSlider: UISlider!' 代码运行。滑块确实显示自定义矩形拇指图标。但是当我拖动滑块时,拇指图标会变回默认的圆形图标。我没有插座 b/c 我正在以编程方式创建滑块。 【参考方案1】:我只需要删除heightSlider.thumbTintColor = barButtonColor
这一行
class DrawViewController: UIViewController
var heightSlider: UISlider = UISlider()
var fontColor: UIColor = UIColor(red:0.91, green:0.91, blue:0.91, alpha:1.0)
var barButtonColor: UIColor = UIColor(red:0.03, green:0.25, blue:0.51, alpha:1.0)
override func viewDidLoad()
super.viewDidLoad()
heightSlider = UISlider(frame: CGRectMake(0, 20, 98, 31))
heightSlider.minimumTrackTintColor = barButtonColor
heightSlider.maximumTrackTintColor = fontColor
heightSlider.thumbTintColor = barButtonColor //delete this line!
heightSlider.setThumbImage(UIImage(named: "blueSliderThumbHeight")!, forState: .Normal)
self.view.addSubview(heightSlider)
【讨论】:
以上是关于自定义 UISlider 拇指图标:如何阻止拇指图标在拖动时恢复为默认圆形图标?的主要内容,如果未能解决你的问题,请参考以下文章