首页 > swift : 循环添加创建imageView并添加手势点击事件的问题(非交互开关)

swift : 循环添加创建imageView并添加手势点击事件的问题(非交互开关)

1.` /* 添加图片 /

    //创建图片视图
    for i in 0 ..< Int(arrayCount) {

        let imgView = UIImageView()
        imgView.frame = CGRect(x: CGFloat(Float(i)) * adSCView.frame.width,
                             y: 0,
                             width: adSCView.frame.width,
                             height: adSCView.frame.height - 25)
        
        /** 下载图片 */
        let imgUrl = NSURL(string: self.programmeList[i].head_img)
        let data = NSData(contentsOfURL: imgUrl!)

        imgView.image = UIImage(data: data!)
        
        //开交互
        imgView.userInteractionEnabled = true
       let singleTap = UIGestureRecognizer(target: self, action: #selector(singleTapAction))
        
        imgView.addGestureRecognizer(singleTap)
        adSCView.addSubview(imgView)
    }`
    
        func singleTapAction {
    print("点击了图")
}
    
  问题是 : 点击图片没有响应,真机运行手势点击也没有响应?
  

手势初始化错了,用下面的方法初始化。
UIGestureRecognizer 是虚类,需要使用具体的子类进行处理。

let singleTap = UITapGestureRecognizer(target: self, action: #selector(singleTapAction(_:)))
     

通过下面的方式获取点击的view

func singleTapAction(tap:UITapGestureRecognizer) {
    print("\(tap.view)")
}



相关手势类可以在classes 看到


反正一个图片要点击,我肯定用 button 去做
自带 addTarget 比较简单

【热门文章】
【热门文章】