[iOS] UILabel을 클릭했을때 처리

iOS

개인 프로젝트를 진행하면서..

UILabel을 탭했을때 페이지를 넘어가거나 특정 일을 처리해야 하는 경우가 생겼습니다.
iOS와 특히 Objective C 문법 개념을 같이 학습하려고 하니 필요한 부분들은 정리해 둘 필요가 있는것 같습니다.
그래야 안잊어 버립니다..

검색해보니 생각보다 간단하게 처리할 수 있을 것 같습니다.
저는 viewDidLoad에 아래와 같이 UILabel을 클릭했을때 호출할 delegate와 action을 설정하였습니다.

1
2
3
4
5
6
7
8
- (void)viewDidLoad {
...
[labelMenu setUserInteractionEnabled:YES];
UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(labelTap:)];
[tapGesture setDelegate:self];
[labelMenu addGestureRecognizer:tapGesture];
...
}

그리고 같은 파일안에서 labelTap을 정의하고 처리작업을 넣었습니다.

1
2
3
- (void)labelTap:(UITapGestureRecognizer *)recognizer {
NSLog(@"label is tapped");
}

이제 해당 UILabel을 클릭하면 Log가 찍히는 것을 볼 수 있을 것입니다.