Merhabalar bu yazımda SwiftUI ile birlikte Custom Slider oluşturma işlemini sizlerle paylaşacağım.
SwiftUI ile Custom bir nesne oluşturmak ve aksiyon almak gerçekten çok hızlı ve kolay. 25 satır kod ile Custom bir slider yaratabilirsiniz.
struct ContentView: View { @State var sliderValue: CGFloat = 0.5 var body: some View { VStack { Spacer() CustomSlider(value: $sliderValue, itemColor: .red, lineColor: .red) .frame(width: UIScreen.main.bounds.width * 0.85, height: 10, alignment: .center) Spacer() } } }
struct CustomSlider: View { @Binding var value: CGFloat var itemColor: Color = .black var lineColor: Color = .black var body: some View { ZStack { GeometryReader { reader in lineColor .frame(width: reader.frame(in: .global).width, height: 3) Image(systemName: "plus.square.fill") .font(.title) .foregroundColor(.white) .frame(width: 45, height: 45) .background(itemColor) .cornerRadius(10) .offset(x: self.value * (reader.frame(in: .global).width - 40), y: -20) .gesture(DragGesture().onChanged({ value in let width = reader.frame(in: .global).width let dragValue = value.location.x if dragValue > 0 && dragValue <= width { self.value = dragValue / width } })) } } } }