[英]Adding TapGesture to ImageViews in paging ScrollView
我有一個分頁的UIScrollView
,每個頁面只有一個UIImageView
和一個View。 我想添加對在View上顯示的Image的描述,我希望能夠通過點擊UIImageView
來顯示/隱藏View。
我嘗試了幾種添加GestureRecognizer
,但是它似乎不起作用。 下面的代碼是創建我的頁面的地方。 在Slide1和Slide 2顯示2種不同方式的情況下,我嘗試添加GestureRecognizer
。
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(showOrHide))
@objc func showOrHide(){
print("tapped")
for slide in slides{
slide.labelView.isHidden = true
}
}
func createSlides() -> [Slide] {
print("creating Slides")
let slide1:Slide = Bundle.main.loadNibNamed("Slide", owner: self, options: nil)?.first as! Slide
slide1.imageView.image = UIImage(named: "img1.jpg")
slide1.imageView.isUserInteractionEnabled = true
slide1.tapGestureRecogizer = UITapGestureRecognizer(target: self, action: #selector(showOrHide))
let slide2:Slide = Bundle.main.loadNibNamed("Slide", owner: self, options: nil)?.first as! Slide
slide2.imageView.image = UIImage(named: "img2.jpg")
slide2.imageView.isUserInteractionEnabled = true
slide2.imageView.addGestureRecognizer(tapGesture)
我認為我對這些頁面的創建方式有誤解,希望有人能幫助我。
謝謝!
tapGesture
作為內部的局部變量createSlides
。 更新的代碼:
func createSlides() -> [Slide] {
print("creating Slides")
let slide1 = Bundle.main.loadNibNamed("Slide", owner: self, options: nil)?.first as! Slide
slide1.imageView.image = UIImage(named: "img1.jpg")
slide1.imageView.isUserInteractionEnabled = true
var tapGesture = UITapGestureRecognizer(target: self, action: #selector(showOrHide))
slide1.imageView.addGestureRecognizer(tapGesture)
let slide2 = Bundle.main.loadNibNamed("Slide", owner: self, options: nil)?.first as! Slide
slide2.imageView.image = UIImage(named: "img2.jpg")
slide2.imageView.isUserInteractionEnabled = true
tapGesture = UITapGestureRecognizer(target: self, action: #selector(showOrHide))
slide2.imageView.addGestureRecognizer(tapGesture)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.