[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의 좌표값이 모호해질것.
댓글
댓글 쓰기