2017-01-22 1 views
0

아래 코드를 확인하십시오. mainView에서 버튼을 만들었습니다. 그러나이 버튼은 "thumbsUpButtonPressed"메소드를 호출하지 않습니다. 확인해보십시오.버튼 터치 이벤트

override func viewDidLoad() { 
    super.viewDidLoad() 

    let button = UIButton(type: .custom) 
    button.frame = CGRect(x: 60, y: 100, width: 50, height: 50) 

    button.backgroundColor = .red //.clear 
    button.layer.cornerRadius = 5 
    button.layer.borderWidth = 1 
    button.layer.borderColor = UIColor.black.cgColor 

    button.clipsToBounds = true 
    //button.setImage(UIImage(named:"thumbsUp.png"), for: .normal) 
    button.addTarget(self, action: #selector(thumbsUpButtonPressed), for: .touchDown) 

    view.addSubview(button) 
} 

func thumbsUpButtonPressed(sender: UIButton) { 
    print("thumbs up button pressed") 
} 
+0

당신의 코드 및 "엄지 손가락 버튼을 누르면"인쇄, 내가 잘못 본 게 없어. 보여줄 코드가 더 많습니까? –

+0

감사합니다. 하지만 그게 전부입니다. 나는 5 개의 TabView를 만들었고 첫 번째 TabView의 코드입니다. 이 코드가 TabView에서 작동하지 않는다고 생각합니까? –

답변

1

매개 변수로 단추를 전달하려면 선택기에서 단추를 전달해야합니다. 메소드 이름 다음에 (_:)을 추가하면됩니다.

시도 :

button.addTarget(self, action: #selector(thumbsUpButtonPressed(_:)), for: .touchDown) 

당신이 그것을 그렇게 같은 매개 변수로 버튼을 허용하지 귀하의 방법을 변경해야 기존 코드로 작업 할 경우 : I 시도

func thumbsUpButtonPressed() { 
    print("thumbs up button pressed") 
}