İçeriğe geç

SwiftUI ile DragGesture kullanımı

Merhabalar bu yazımda SwiftUI ile birlikte nesnelere Gesture ekleme ve state kontrol etmeyi göstereceğim.

UIKit içerisinde kullandığımız gesture işlemlerini SwiftUI içerisinde kendi yapısına uygun şekilde kullanabilmekteyiz. Bunun için .gesture fonksiyonu nesnelerimize sürükleme, dokunma vs aksiyonlarını eklememizi sağlıyor.

Aşağıda yazdığım örneği inceleyebilir ve kullanımı görebilirsiniz.

struct RectView:View {
    
    var body: some View {
        Rectangle()
            .fill(Color.orange)
            .frame(width: 120, height: 120, alignment: .center)
            .cornerRadius(10)
    }
}

İlk olarak basit bir rect view yaratıp. Daha sonrasında bunu ilgili View içerisinde çağıracağız.

struct TestView:View {
    
    @State var dragPoint:CGSize = CGSize.zero
    
    var body: some View {
        RectView()
            .offset(dragPoint)
            .animation(.spring())
            .gesture(DragGesture()
                .onChanged({ (val) in
                    self.dragPoint = val.translation
                })
                .onEnded({ (_) in
                    self.dragPoint = .zero
                })
        )
    }
}

.gesture fonksiyonu sayesinde Drag aksiyonunu nesnemize eklemiş olduk. Daha sonrasında .onChanged, .onEnded ile aksiyonu kontrol edebilirsiniz. Bunun yanı sıra .animation ile aksiyonlara yumuşak geçişler eklemeniz mümkün.

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