ios - 识别哪个View调用Tap函数

标签 ios uiimageview swift3

我知道如何向 UIImageView 添加可点击性,但是,有 2 个 ImageView ,我想区分它们以调用正确的函数。但是,我似乎无法获得正确的发件人

 func addTappability (view imageView:UIImageView){
    //add tapping function for image

    let tapGestureRecognizer = UITapGestureRecognizer(target:self, action:#selector(IdCardViewController.imageTapped(_:)))
    imageView.isUserInteractionEnabled = true
    imageView.addGestureRecognizer(tapGestureRecognizer)
}

func imageTapped(_ sender: UIImageView) {

    //Problem here, can't get correct sender
    if ( sender == photoImageViewLeft) {
        //do one thing
    }else {
        //do the other
    }
}

最佳答案

用这个替换你的函数:

func imageTapped(_ sender: UITapGestureRecognizer) {

    if let imageView = sender.view as? UIImageView {
        if ( imageView == photoImageViewLeft ) {
            print("Image1 Tapped")
        }else {
            print("Image2 Tapped")
        }

    }
}

关于ios - 识别哪个View调用Tap函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40420923/

相关文章:

ios - 当一个 View Controller 中有多个表时,如何在 UITableViewCell 中获取多个文本字段引用?

iphone - 在呈现 View 之前如何设置 UIImageView 的图像?

ios - 如何在 iOS 横向模式下更改按钮位置?

ios - TextView 在填充后在 iOS 中丢失样式

ios - Xamarin.Forms 如何在 Android 和 iOS 上添加应用评​​分?

objective-c - CGRectApplyAffineTransform 什么都不做?

ios - 如何获取本地保存的UIImage到UIImage的路径?

ios - UIImage 在 vi​​ewController swift 上出现晚了 2-3 秒

swift - 进行异步调用后运行 Modal

swift - 无法使用 RxSwift/RxRealm 过滤对象