SwiftUI | Tips & Tricks

Fx Studio

Download as .zip Download as .tar.gz View on GitHub

Tap Gestures

​ Chào các bạn đã quay lại với bài tutorial này của mình. Hôm nay, chúng ta sẽ tiếp tục với việc lấy sự kiện của người dùng lên giao diện ứng dụng của mình. Nhưng lần này thì với bất kì cái gì cũng được.

​ Bạn sẽ nghĩ tới UITapGestureRecognizer huyền thoại và họ hàng nhà Gestures bá đạo của UIKit. Bạn nào quên nó rồi thì có thể đọc lại tại đây.

​ Nhưng đây là SwiftUI và chúng ta bắt đầu khám phá thế giới mới!

Bắt đầu

​ Vẫn là cách đơn giản để bắt 1 sự kiện cảm ứng trên 1 view bất kì

Text("Tap me!")
    .tapAction {
        print("Tapped!")
    }

​ Đối tượng khác vẫn được, không nhất thiết mỗi Text

Image("example-image")
    .tapAction(count: 2) {
        print("Double tapped!")
    }

Phức tạp hơn xí

struct ContentView : View {
    
    @State var red: Double = 1.0
    @State var green: Double = 1.0
    @State var blue: Double = 1.0

    var body: some View {
        Text("Tap me!")
            .font(.title)
            .frame(minWidth: 0, maxWidth: .infinity, minHeight: 0, maxHeight: .infinity)
            .background(Color(red: self.red, green: self.green, blue: self.blue))
            .tapAction {
                // did tap
                self.red = Double.random(in: 0...1)
                self.green = Double.random(in: 0...1)
                self.blue = Double.random(in: 0...1)
        }
    }
}

Cảm ơn bạn đã đọc và theo dõi bài viết này. Ngoài ra, bạn muốn xem trực quan sinh động hơn thì có thể xem ở link video sau.

https://youtu.be/uFZEyLUayzU