ios - UISlider:改变了高度,但最大值闪烁
问题描述
我自定义了 aUISlider
并且一切正常,除非我将滑块拖动到 100%。然后用正方形替换圆形帽。
这是我自定义滑块的方法:
@IBInspectable var trackHeight: CGFloat = 14
override func trackRect(forBounds bounds: CGRect) -> CGRect {
return CGRect(origin: bounds.origin, size: CGSize(width: bounds.width, height: trackHeight))
}
98% 图片:
100% 图像:
解决方案
minimumTrackTintColor
您可以通过 set和maximumTrackTintColor
into删除轨道背景UIColor.clear
并自己绘制轨道背景。
例如:
class CustomSlider: UISlider {
override func trackRect(forBounds bounds: CGRect) -> CGRect {
return bounds
}
override func draw(_ rect: CGRect) {
guard let context = UIGraphicsGetCurrentContext() else {
return
}
context.setFillColor(UIColor.green.cgColor)
let path = UIBezierPath(roundedRect: rect, cornerRadius: rect.size.height / 2).cgPath
context.addPath(path)
context.fillPath()
}
}
推荐阅读
- python - 在子图中绘制水平线
- android-studio - 颤振无法从.iml文件Android Studio加载设置
- sql - PIVOT 没有聚合转换 2X2 表
- ios - 处理应用内购买的消耗品退款通知
- java - 为什么 new 用来访问类的构造函数?
- visual-studio-code - VS 代码扩展测试中没有调试器
- mysql - 无法连接到 MySQL docker 容器中的 MySQL 服务?
- apache-camel - 有没有办法在不引发异常的情况下中止路由单的处理?
- node.js - 在 Express 路线中实施“副作用”?
- installation - `ModuleNotFoundError: No module named 'rasa_nlu'` 错误