我正在尝试制作一个带有刻度和自定义缩略图的自定义SwiftUI滑块。除了缩略图没有与刻度对齐之外,它工作得很好。我如何使它们对齐呢?
init() {
let ticker: UIImage = UIImage(named: "ticker")?.withAlignmentRectInsets(UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 90)) ?? UIImage()
UISlider.appearance().setThumbImage(ticker, for: .normal)
}
滑块:
ZStack {
HStack {
ForEach(0...10, id: \.self) { _ in
Text("I")
.frame(maxWidth: .infinity)
.foregroundColor(ColorStyle(colorAsset: .lightGrey).color)
}
Slider(value: $viewModel.sliderValue, in: minSlider...maxSlider, step: sliderStep)
.tint(ColorStyle(colorAsset: .lightGrey).color)
}
1条答案
按热度按时间zphenhs41#
正在开发一个通用的滑块生成器,以减少重复的编码器,并针对iPad(iOS)进行了优化。诀窍是考虑到轨道长度减少拇指宽度的方式,因此全范围略小于帧宽度。所附代码不完整-需要为传入的变量设置@environment。粉红色边框只是为了突出显示帧。