gpt4 book ai didi

swift - 触摸结束时如何更改 UISlider Thumb 外观

转载 作者:行者123 更新时间:2023-11-28 10:18:10 31 4
gpt4 key购买 nike

我正在通过调用 .thumbTintColor 来更改 UISlider 的颜色

@IBAction func slider1Master(sender: AnyObject) {

slider1.thumbTintColor = UIColor.orangeColor()}

它有效,但我希望颜色在触摸结束(用户抬起手指)时变回其原始状态。

有人有什么建议吗?谢谢。

最佳答案

您可以改用“setThumbImage”。然后您可以选择为特定的 Action 状态设置图像。对于图像,只需使用您想要的颜色创建一个更圆润的图像即可。

//Creating an Image with rounded corners:

extension UIImage {
class func createThumbImage(size: CGFloat, color: UIColor) -> UIImage {
let layerFrame = CGRectMake(0, 0, size, size)

let shapeLayer = CAShapeLayer()
shapeLayer.path = CGPathCreateWithEllipseInRect(layerFrame.insetBy(dx: 1, dy: 1), nil)
shapeLayer.fillColor = color.CGColor
shapeLayer.strokeColor = color.colorWithAlphaComponent(0.65).CGColor

let layer = CALayer.init()
layer.frame = layerFrame
layer.addSublayer(shapeLayer)
return self.imageFromLayer(layer)
}
class func imageFromLayer(layer: CALayer) -> UIImage {
UIGraphicsBeginImageContextWithOptions(layer.frame.size, false, UIScreen.mainScreen().scale)
layer.renderInContext(UIGraphicsGetCurrentContext()!)
let outputImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return outputImage
}
}


//Setting the image for a selected state of UISlider:

func setupSlider() {
let size:CGFloat = 12
let highlightedStateOrangeColorImage = UIImage.createThumbImage(size, color: UIColor.orangeColor())
let defaultStateBlueColorImage = UIImage.createThumbImage(size, color: UIColor.blueColor())
self.slider.setThumbImage(highlightedStateOrangeColorImage, forState: UIControlState.Highlighted)
self.slider.setThumbImage(defaultStateBlueColorImage, forState: UIControlState.Normal)
}

关于swift - 触摸结束时如何更改 UISlider Thumb 外观,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38821164/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com