2017-08-24 106 views
0

我正在寻找一种方法来添加代码方式从另一个函数引用UIImageView的值。Swift 3 iOS 10引用UIImageView以获取其他功能的值

我有一个函数为数组中的每个实例创建一个新的UIImageView。此外,它还添加了一个UITapGestureRecognizer,它在点击时调用一个函数。现在我想要一个被点击调用的函数来获取与相应的UIImageView相关的数组的实例。

我希望很清楚我想要做什么。 :)

+0

您可以为每个UIImageView创建唯一的ID,并为Tap编写单一功能。根据ID,相应的UIImageView获取点击。 – GvSharma

+0

所以当你点击UIImageView时,你需要点击手势识别器来告诉你图像视图在哪个数组中?或者你想知道哪个UIImageView被点击了? – WsCandy

+0

因此,不要使用UITapGestureRecognizer为分支写入一个单独的函数。但是这个函数会是什么样子? – Paco89

回答

0

比方说,你有像阵列:

let myImages = [UIImage(named: "image1"), UIImage(named: image2", UIImage(named: "image3"0] 

而且你必须在三个不同的图像视图这些图片:

imageViewA.image = myImages [0] imageViewB.image =此外,您已经正确设置了每个图像视图在水龙头上调用相同功能(我们称之为imageViewTapped())的所有内容。 (1)正确设置每个图像视图的标签属性以指向数组索引,(2)获取被点击的视图,以及(3)检索图像。

imageViewA.tag = 0 
imageViewB.tag = 1 
imageViewC.tag = 2 

func imageViewTapped(_ recognizer:UITapGestureRecognizer) { 
    let tappedView = recognizer.view 
    let sourceImage = myImages[tappedView.tag] 
} 

我建议你在一个循环(标签,点击识别)设置的一切行动,并根据需要添加的功能有一定的类型转换。但是我看不到你的代码来帮助你。

+0

完美!触觉我已经有 FUNC imageViewTapped(_识别:UITapRecognizer){ 让tappedView = recognizer.view 让sourceImage = myImages [tappedView.tag] } 但不是铸造UITapGeastureRecognizer我AnyObject。这一定是原因,因为它保留了零。 – Paco89