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

查看:395
本文介绍了ios - 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 看到

这篇关于ios - swift : 循环添加创建imageView并添加手势点击事件的问题(非交互开关)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆