본문 바로가기

아이폰/안드 개발자 시점

[iOS] UILabel에 클릭 이벤트 붙이기

반응형

AOS로 클릭 이벤트를 구현할땐 상황에 맞게 View, TextView등 다양한 오브젝트를 활용해서 레이아웃을 그리고 거기에 간단하게 클릭이벤트를 붙입니다.

하지만 iOS는 버튼에만 IBAction을 사용해서 편리하게 붙일 수 있고 그 외엔 'TapGesture'를 붙여야 합니다.

 

class ViewController: UIViewController {
    @IBOutlet weak var view: UILabel!
    
    override func viewDidLoad() {
        super.viewDidLoad()
         
        // 포인트 구매
        let buyPoint = UITapGestureRecognizer(target: self, action: #selector(clickPoint))
        view.addGestureRecognizer(buyPoint)
    }
    
    @objc func clickPoint(sender: UITapGestureRecognizer){
        print("clickPoint")
    }
    
}

UIView에도 동일하게 클릭 이벤트를 붙였는데  작동하지 않았습니다.

그래서 검색을 해보니  'isUserInteractionEnabled = true' 를 설정 해줘야 한다고 하더라구요 

        // 포인트 구매
        let buyPoint = UITapGestureRecognizer(target: self, action: #selector(clickPoint))
        lbPoint1.isUserInteractionEnabled = true
        view.addGestureRecognizer(buyPoint)

위 처럼 작성하니 정상 작동했습니다.

 

꾸준히 못하고 오랜만에 다시 하려니 또 새롭네요. 단축키도 다시 찾아보구..
두개 플랫폼을 옮겨다니면서 하시는 분들 리스펙합니다. 

 

 

반응형