내 주 창의 루트보기 컨트롤러 클래스 내에 UITapGestureRecognizer 속성을 설정했습니다. 재정의 된 viewDidLoad 함수를 호출하는 동안 addGestureRecognizer 메서드를 통해 이미지 속성에이 속성을 추가했습니다. 또한 image.isUserInteractionEnabled를 true로 설정했습니다.UITapGestureRecognizer 선택기가 호출되지 않습니다.
override func viewDidLoad() {
image.addGestureRecognizer(tap)
image.isUserInteractionEnabled = true
self.view.addSubview(image)
}
var tap = UITapGestureRecognizer(target: self, action: #selector(imagePressed(_ :)))
슬프게도,이 실행시 호출되는() imagePressed 발생하지 않습니다. 저를 혼란스럽게하는 것은 다음 코드가 의도 한 결과를 생성한다는 사실입니다.
override func viewDidLoad() {
var tap = UITapGestureRecognizer(target: self, action:#selector(imagePressed(_ :)))
image.addGestureRecognizer(tap)
image.isUserInteractionEnabled = true
self.view.addSubview(image)
}
제 질문은 왜 UITapGestureRecognizer의 선택기가 첫 번째 경우에 호출되지 않는 것입니까?
는 스위프트 3, 엑스 코드 8.2.1
당신이 코드는 당신이 첫 번째 시도가 일을 기대하는 방법, 올바른으로 무엇을 게시하는 경우? '탭'선언은 어떤 함수에도 없습니다! ** ** viewDidLoad() *에 속합니다. – dfd
Tap이 내 View Controller 클래스의 속성입니다. –
잘못 될 수는 있지만 제스처 인식기를 뷰의 속성으로 보거나 들어 본 적이 없습니다. 나는 그것이 끝날 수 있다고 생각하지 않는다. – dfd