Post

Replies

Boosts

Views

Activity

Reply to Custom slider thumb not showing initially, only after toggle
struct ContentView: View {     @State private var sliderValue = 50.0     @State private var showSlider = true     var body: some View {         VStack {             BullSlider(value: $sliderValue, in: 1.0...100.0)                 .opacity(showSlider ? 1 : 0)             Button("Toggle") {                 withAnimation {                     showSlider.toggle()                 }             }             .padding()         }     } } struct BullSlider: View {     @Binding var value: Double     var bounds: ClosedRange<Double>     init(value: Binding<Double>, in bounds: ClosedRange<Double>) {         self.bounds = bounds         self._value = value     }     var body: some View {         Slider(value: $value, in: bounds)             .onAppear{                 let thumbImage = ImageRenderer(content: bullThumb).uiImage ?? UIImage()                 UISlider.appearance().setThumbImage(thumbImage, for: .normal)             }     }     var bullThumb: some View {         VStack {             ZStack {                 Circle()                   .frame(width: 50, height: 50)                   .foregroundColor(.white)                 Circle()                   .strokeBorder(lineWidth: 6)                   .frame(width: 44, height: 44)                 Circle()                   .strokeBorder(lineWidth: 6)                   .frame(width: 24, height: 24)             }             .foregroundColor(.blue)         }         .frame(width: 50, height: 60)     } }
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Nov ’22