SwiftUI에서 이미지 줌이 자연스럽지 않은 이유 — UIScrollView 래핑이 정답인 경우
문제 상황 문서 스캔 앱에서 스캔 이미지를 전체화면으로 보여주는 뷰어가 필요했는데요. 핀치 줌으로 확대하고, 확대 상태에서 드래그로 다른 부분을 볼 수 있어야 했어요. SwiftUI로 당연히 될 줄 알았습니다. 삽질 과정 1차: MagnifyGesture만 처음에는 단순하게 MagnifyGesture만 붙였거든요. Image(uiImage: uiImage) .scaleEffect(scale) .gesture( MagnifyGesture() .onChanged { value in scale = max(1.0, value.magnification) } .onEnded { _ in withAnimation { scale = 1.0 } } ) 손가락을 떼면 원래 크기로 돌아가니까 확대 상태를 유지할 수가 없었어요. 그래서 lastScale을 추가해서 확대를 유지하도록 했는데, 이번엔 확대된 이미지를 이동할 방법이 없더라고요. ...