快速更改 UISlider 的高度
Posted
技术标签:
【中文标题】快速更改 UISlider 的高度【英文标题】:Swift Change height of UISlider 【发布时间】:2018-08-13 19:50:51 【问题描述】:我正在尝试更改 UISlider 的高度。这就是我目前正在做的事情:
class CustomSlider: UISlider
override func trackRect(forBounds bounds: CGRect) -> CGRect
var newBounds = super.trackRect(forBounds: bounds)
newBounds.size.height = 20.0
return newBounds
@IBInspectable var thumbImage: UIImage?
didSet
setThumbImage(thumbImage, for: .normal)
@IBInspectable var thumbHighlightedImage: UIImage?
didSet
setThumbImage(thumbImage, for: .highlighted)
这似乎在大多数情况下都有效,但我遇到了一个问题,即当滑块到达末尾时,它不再是圆形的,如下图所示:
slider issue
有没有办法解决这个问题?我宁愿坚持使用系统滑块而不是自定义滑块。
编辑:更改的图像。
【问题讨论】:
对我来说,它看起来不像是方形的,看起来滑块比它的容器宽,所以它在圆形末端之前被切割。 更改了图像,希望能更好地展示它。 嗨@Josh!你找到解决办法了吗? 【参考方案1】:斯威夫特 4.2
import UIKit
@IBDesignable open class DesignableSlider: UISlider
@IBInspectable var trackHeight: CGFloat = 5
@IBInspectable var roundImage: UIImage?
didSet
setThumbImage(roundImage, for: .normal)
@IBInspectable var roundHighlightedImage: UIImage?
didSet
setThumbImage(roundHighlightedImage, for: .highlighted)
override open func trackRect(forBounds bounds: CGRect) -> CGRect
//set your bounds here
return CGRect(origin: bounds.origin, size: CGSize(width: bounds.width, height: trackHeight))
*别忘了清理你的项目
【讨论】:
以上是关于快速更改 UISlider 的高度的主要内容,如果未能解决你的问题,请参考以下文章