-
SwiftUI 제스처가 작동하지 않을 때iOS/Swift 2022. 7. 10. 19:29
안녕하세요! 오늘은 SwiftUI에서 onTapGesture등 제스처가 작동하지 않을 때 처리하는 방법에 대해서 알아보겠습니다.
바로 시작하겠습니다 🐶
이번에 SwiftUI로 프로젝트를 진행하던 중,
투명한 백그라운드를 가진 뷰에 탭 제스처를 추가했지만, 제스처가 작동하지 않았다.
뷰의 영역이 잘못 설정 되어있는 줄 알고 백그라운드 색깔을 바꿔줬지만, 뷰의 영역이 제대로 잡혀있었고, 백그라운드 색을 바꿔줬을 때에는 제대로 제스처가 작동했다.
관련된 내용을 찾아보던 중 해결법을 알아냈다.
SwiftUI에서 제스처를 사용하려면 콘텐츠가 불투명 해야한다.
즉, 백그라운드 컬러를 clear로 설정했기 때문에 발생한 문제였다.
Rectangle() .foregroundColor(.blue) .border(Color.gray, width: 1) .contentShape(Rectangle())
제스처를 추가하고 싶은 뷰에
.contentShape 모디파이어를 사용하면 된다.
투명도와 관계없이 가능하게 만든다.
'iOS > Swift' 카테고리의 다른 글
SwiftUI List Background Color(iOS 16.0+) (0) 2022.09.29 (RxSwift)API 호출 시점이 많을 때, 효율적으로 관리하기 (0) 2022.02.23 UICollectionView Compositional Layout (0) 2022.02.17 RxDataSources + 컬렉션 뷰(Swift) (0) 2022.02.16 Firebase Auth 적용하기(전화번호 인증, Swift) (0) 2022.02.04