[IOS] 이미지 위에 클릭할 수 있는 컴포넌트 구현하기 with Swift
Q. 인체 이미지위에 클릭하면 선택된 다음, 선택된 부위의 정보를 볼 수 있게 할 수 있는 Swift 모듈이 있는지? <Duncan C씨 답변> 불규칙한 모양을 감지하는 빌트인 기능은 없음 표준 UIView 터치는 직사각형 모양 프레임을 사용한다. 이미지 테두리대로 베지어 경로를 그릴것을 추천(bezier path) UIView의 하위 클래스로 BodyView 커스텀 클래스를 만들어서 각 베지어 경로를 포함하는 이미지영역 2D array를 관리하게 하라. 여기 베지어 곡선에 대한 아주 좋은 글이 있다. https://blog.coderifleman.com/2017/01/02/bezier-curves-for-frontend-engineer-1/ <Myriam씨 답변> 클릭할 지점 주위에 Invisible button을 설정. IBAction에 hook 한 뒤, 클릭시 처리될 로직을 작성. sender: UIButton <채택된 klasskox씨 답변> UIIMageView에 sublayers 를 추가해라. 탭하면 사라지고 없어지길 반복해야하므로 touchesbegan 함수를 오버라이딩한다. <klassfox씨 답변에 대한 의문> 다른 머신에서 작동할 때는 어떻게 대응할 것이며, imageView에 적용된 크기 스케일링는 어떻게 대응할 것인가? 발생하게되면 Shape Layer의 좌표값이 모호해질것. 출처 : https://stackoverflow.com/questions/36102099/create-clickable-body-diagram-with-swift-ios