UIViewController에 설치된 여러 View에서 터치 이벤트를 가져옵니다.

Storyboard에서 ViewController에 설치한 View와 ImageView에서 각각 터치 이벤트를 취합니다.

이번에 사용한 ViewController는 이런 느낌.
빨간 부분이 UIView가 놓여 있는 곳. 녹색 부분이 UIImageView가 놓여 있는 곳.
아래의 TableView 부분은 관계가 없으므로 신경 쓰지 마십시오.


글쎄, 코드를 씁니다.
매우 간단합니다. UIViewController에 다음 내용으로 touchesBegan:withEvent:를 재정의(copipe)할 뿐.
// タッチイベントを取る
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    UITouch *touch = [touches anyObject];
    switch (touch.view.tag) {
        case 1:
            // タグが1のビュー
            NSLog(@"ImageViewに触った");
            break;
        default:
            // それ以外
            NSLog(@"Viewに触った");
            break;
    }
}

그리고는 태그의 설정과 UIImageView는 터치 이벤트를 취해주지 않기 때문에 거기도 고쳐줍니다.
Storyboard에서 해당 UIImageView를 선택하면 먼저 태그를 1로 설정한 다음 Interaction에 체크합니다. 이제 UIImageView에서도 터치 이벤트를 취해줍니다 YO.


시뮬레이터에서 View나 ImageView를 터치해 보았다.
로그는 이런 느낌.

좋은 웹페이지 즐겨찾기