İçeriğe geç

SwiftUI ile Custom Slider yaratmak

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.

Aşağıdaki örneği inceleyebilir ve eklemeler yaparak ilgili slider nesnesini projelerinizde kullanabilirsiniz.

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
                        }
                    }))
            }
        }
    }
}

 

Tarih:SwiftUI

İlk Yorumu Siz Yapın

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Copyright © 2020 Kenan Atmaca