2017-08-24 36 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

相關問題