"좋아요" 와 "싫어요" 버튼에 tapGesture 이벤트를 적용하여 예제를 만들었습니다.
*네비게이션 바와 background 색상을 제외하고 모두 코드로 작성했습니다. 참고하실 분은 git을 참고해주세요!*
https://github.com/UCDAyoung/Project30
순서
0. tapGesture 적용할 인스터스 만들기
1. UITapGestureRecognizer 생성
2. 셀렉터 action 정의하기
3. addGestureRecognizer로 인스턴스에 이벤트 추가하기
0. tapGesture 적용할 인스터스 만들기 ( UI에 들어갈 인스턴스 및 변수들 )
1. UITapGestureRecognizer 생성
(이벤트는 한 번 적용해놓으면 되니까 viewDidLoad에 넣어놓았습니다.)
//1
먼저 UITapGestureRecognizer(target:action:) 메소드를 사용하여 target 과 action 을 정합니다.
taps1은 좋아요 버튼에 들어갈 tapGestureRecognizer 입니다.
taps2은 싫어요 버튼에 들어갈 tapGestureRecognizer 입니다.
2. 셀렉터 action 정의하기
//2 action에 들어갈 셀렉터를 정의합니다. (반드시 @objc 키워드를 붙여줘야 합니다. )
Like 액션 : 좋아요 action
Cancel 액션 : 싫어요 action
3. addGestureRecognizer로 인스턴스에 이벤트 추가하기
마지막으로, 적용할 ui에 addGestureRecongizer를 추가해줍니다.
여기서는 likeButton과 cancleButton에 추가를 해주었습니다.
짚고 가야할 주의사항
tapGesture를 적용하려면 tap이 먹히게 해야하는데
UILabel, UIIimage 같이 정적 데이터를 표시하는 뷰는 기본적으로 터치를 처리하지 않아서 아래와 같이 처리를 해주지 않으면 tapGesture가 먹질 않습니다.
방법1. 스토리보드로 사용할 시
user interaction enabled 체크
방법1. 코드 사용할 시
인스턴스.isUserInteractionEnabled = true 해줘야 합니다.
'IT > IOS' 카테고리의 다른 글
[iOS] UITextField 입력 텍스트 감지 (0) | 2021.09.19 |
---|---|
[ios] NavigationController programmatically 코드구현 (0) | 2021.09.01 |
[iOS 오류] Unable to activate constraint with anchors (0) | 2021.08.22 |
[iOS] Constraint설정 isActive vs addConstraints vs NSLayoutConstraint (0) | 2021.08.22 |
[iOS ] Table View 테이블 뷰 & 테이블 뷰 셀 - 작성 중 .. (0) | 2021.08.16 |