2016-08-04 33 views
0

我期望在運行時獲得這兩個值。在運行時獲取UIImageView IB圖像屬性值

enter image description here

試想一下,對於某些原因,這名不能在代碼設置。只在IB。但我可以在我的代碼中包含所有可能的圖像名稱的數組。

let images = ["black_76", "black_152", ...and so on] 

的意圖,然後能夠做到:

if images.contains(nameOfImageInIB) { 
    //do stuff 
} 

acessibilityIdentifier是由人,但作爲一個ImageView的或按鈕呈現可以有多個與之相關的圖像是一個好主意,但只有一個acessibilityIdentifier,它將無法工作。

最終目標是能夠僅使用IB屬性以某種方式在代碼中獲得我的圖像的名稱。將標籤設置爲數組中名稱的索引可能會起作用,但同樣,我只能有一個標籤,但需要查找兩個圖像。

此外,試圖避免將IBDesignable添加到我的代碼中,並只使用IB中默認提供的內容。

+0

你只是想匹配圖像?什麼是最終目標? –

+0

我已經添加了額外的說明。 – Frankie

回答

0

這是不可能的恐怕。查看this answer以查看關於原因的一些詳細信息。

可能有另一種方法可以做任何你想做的事情,而不必在運行時得到這個文件名,但我不確定沒有關於你的情況的更多細節。如果你想查看哪個圖像當前存儲在UIImageView中,則必須在UIViewController中維護一個變量,以指示上次加載哪個圖像,然後檢查該圖像。或者,例如,如果您希望能夠識別哪個圖像已被點擊,則可以將其與圖像的數組索引進行比較,而不是與文件名進行比較。在viewDidLoad()中,您可以使用數組中已有的文件名以編程方式生成圖像。

0

它看起來像它至少是很難根據這個question

answers點使用accessibilityIdentifier之一,無論是建議

0

你可以考慮設置圖像.TAG選項,但是否不這將取得成功取決於圖像如何被用戶選擇真的...