반응형

 

Hacking with Swift 사이트의 강좌 번역본입니다.

 

[원문 : https://www.hackingwithswift.com/quick-start/swiftui/how-to-disable-taps-for-a-view-using-allowshittesting]

 

How to disable taps for a view using allowsHitTesting()

 

SwiftUI는 allowHitTesting() modifier를 사용해서 모든 종류의 탭을 수신받는 뷰를 멈출수 있습니다. 뷰에 대한 터치(hit testing)를 허용하지 않는 경우에, 모든 탭은 자동으로 뒤에 있는 뷰로 계속됩니다.

 

이를 증명하기 위해, 아래에 버튼이 있는 반투명 사격형을 포함하는 ZStack이 있습니다.

ZStack {
    Button("Tap Me") {
        print("Button was tapped")
    }
    .frame(width: 100, height: 100)
    .background(Color.white)

    Rectangle()
        .fill(Color.red.opacity(0.2))
        .frame(width: 300, height: 300)
        .clipShape(Circle())
        .allowsHitTesting(false)
}

 

사각형이 버튼 위에 있을지라도, allowHisTesting(false) 입니다 - 사각형에서 하는 모든 탭은 사각형에 의해 탭 되지 않지만, 대신 아래에 있는 버튼으로 전달됩니다.

 

이런 종류의 효과는 하나의 뷰를 다른 뷰로 강조 표시할 때 유용합니다 - 위의 빨간 원은 튜토리얼이 말하는 Tap here to get started 일수 있고 원이 자체적으로 탭을 처리하는 경우에는 동작하지 않습니다.

반응형
Posted by 까칠코더
,