私はScrollViewにUIViewを持っています。しかし、このUIVIewのすべてのコンポーネントは、それ自体でジェスチャーを検出することはできません。スクロールUIのSwrollViewコンポーネントが検出されない
ニックネームを入力するためにテキストフィールドを使用する必要があります。また、男性/女性の性別ステータスを有効/無効にするために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) - あなたの' tapGesture.delegate'と 'scrollViewなど>ブール{trueを返します}' .delegate' ..複数のジェスチャー(スクロールジェスチャーとタップジェスチャーのような他のジェスチャー)を許可するtrueを返します。次に、タップが必要なビューで 'userInteractionEnabled = true'を設定します。 – Brandon