使用tapGesture自定义UIView

时间:2016-08-18 12:32:54

标签: ios objective-c swift uiimageview uitapgesturerecognizer

我有一个绘图应用程序。在我的VC里面有五个带有五种颜色的imageView。我希望能够单击imageView并更改笔触颜色。如果我在viewcontroller中重复自己,通过向每个UIImageView添加手势识别器并拥有其各自的“选择器”功能,就可以轻松完成。如

func redTapped() {}
func blueTapped() {}

但是,我希望能够通过为这些ImageView创建一个自定义类(ColorImageView.Swift)来使代码更清晰,这样当我将类分配给这些按钮时,它们会自动自动获取点击手势和我的VC接收有关哪一个被点击的信息。目前,我可以为每个分配给我班级的图像打印出“imagePressed”。但是,我无法区分哪一个被按下了。下面是我的ColorImageView.Swift代码

import Foundation

class ColorImageView: UIImageView {

    private func initialize() {
        let touchGesture = UITapGestureRecognizer(target: self, action: #selector(ColorImageView.imagePressed(_:)))
        touchGesture.numberOfTapsRequired = 1
        self.userInteractionEnabled = true
        self.addGestureRecognizer(touchGesture)
    }

    override init(frame: CGRect) {
        super.init(frame: frame)
        initialize()
    }

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        initialize()
    }

    func imagePressed(gestureRecognizer: UITapGestureRecognizer) {
        print("image pressed \(gestureRecognizer)")
    }
}

我的imageView名称是red.png,green.png,blue.png ......等

由于

editVC

1 个答案:

答案 0 :(得分:2)

您可以轻松获取标签。工作正常。

Swift_IoException in FileByteStream.php line 144:
Unable to open file for reading [http://sendemail.domain.com/attachment/warburg_brochure.pdf]