İçeriğe geç

SwiftUI ile Custom Toggle kullanımı

Merhabalar bu yazımda SwiftUI ile birlikte iOS uygulamalarımızda kullandığımız Toggle nesnesini custom olarak tasarımını nasıl değiştirebileceğinizi göstereceğim.

Toggle nesnesi yani UIKit ile kullandığımız UISwitch nesnesini custom tasarım eklemek için ToggleStyle protokolü ile birlikte custom bir class yazacağız ve bunu yaratmış olduğumuz Toggle nesnesindeki .toggleStyle fonksiyonuna parametre olarak göndereceğiz.

Aşağıda yazdığım örneği inceleyebilirsiniz.

struct ContentView: View {
    
    @State var toggleOn: Bool = true
    
    var body: some View {
        Toggle(isOn: $toggleOn, label: {
            Image(systemName: "moon.fill")
                .font(.system(size: 25))
            Text("Night Mode")
                .font(.system(size: 15))
        })
        .padding()
        .toggleStyle(CheckboxStyleToggle())
    }
}
struct CheckboxStyleToggle: ToggleStyle {
    
    func makeBody(configuration: Configuration) -> some View {
        HStack {
            configuration.label
            Spacer()
            Image(systemName: configuration.isOn ? "checkmark.circle.fill" : "circle")
                .resizable()
                .frame(width: 32, height: 32)
                .foregroundColor(configuration.isOn ? .blue : .gray)
                .font(.system(size: 20, weight: .bold, design: .default))
                .onTapGesture {
                    configuration.isOn.toggle()
                }
        }
    }
}

 

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