ScrollView에 UIView가 있습니다. 그러나이 UIVI의 모든 구성 요소와 심지어 자체도 제스처를 감지 할 수 없습니다.ScrollView의 Swift UI 구성 요소를 찾을 수 없습니다.
나는 닉네임을 입력하기 위해 텍스트 필드를 사용해야하며 남성/여성 성별 상태를 유무/불가능하게하기 위해 UIView를 탭해야합니다.
그리고 여기 내 코드가 있습니다. 심지어 나는 인터넷에서 발견 된 다른 해결책을 시도했지만 여전히 작동하지 않습니다.
let tapViewMale = UITapGestureRecognizer()
tapViewMale.addTarget(self, action:#selector(viewMaleClicked))
self.viewMain!.addGestureRecognizer(tapViewMale)
let tapViewFemale = UITapGestureRecognizer()#imageLiteral(resourceName: "Screen Shot 2017-11-09 at 12.15.55 PM.png")
tapViewFemale.addTarget(self, action:#selector(viewFemaleClicked(_:)))
self.checkboxFemale.isUserInteractionEnabled = true
self.checkboxFemale.addGestureRecognizer(tapViewFemale)
}
@objc func viewMaleClicked(tapGestureRecognizer: UITapGestureRecognizer) {
print ("viewMaleClicked")
if gender == "" || gender == "F" {
print ("1")
checkboxMale.image = UIImage(named: "checked_checkbox")
checkboxFemale.image = UIImage(named: "unchecked_checkbox")
gender = "M"
} else {
print ("2")
checkboxMale.image = UIImage(named: "unchecked_checkbox")
gender = ""
}
}
@objc func viewFemaleClicked(_ sender:AnyObject) {
print ("viewFemaleClicked")
if gender == "" || gender == "M" {
print ("1")
checkboxFemale.image = UIImage(named: "checked_checkbox")
checkboxMale.image = UIImage(named: "unchecked_checkbox")
gender = "F"
} else {
print ("2")
checkboxFemale.image = UIImage(named: "unchecked_checkbox")
gender = ""
}
}
다음은 스크린 샷입니다.
응답 한 사람들을위한
감사 구현'FUNC gestureRecognizer는 (_ gestureRecognizer : UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer : UIGestureRecognizer) -> BOOL은 {true를 반환}'당신'tapGesture.delegate'와'있는 ScrollView로 .delegate' .. 여러 동작 (스크롤 제스처와 탭 제스처와 같은 다른 동작)을 허용하는 true를 반환합니다. 그런 다음 탭을 인식해야하는 뷰에서'userInteractionEnabled = true'를 설정합니다. – Brandon