2017-02-16 58 views
0

所以在我的iOS應用程序我有這樣設計的菜單:斯威夫特 - 圖像色彩復位時顯示警告

enter image description here

的圖像是用下面的代碼創建:

cell.imageCell?.image = menuItems[indexPath.row].image 
    cell.imageCell.image = cell.imageCell.image?.withRenderingMode(.alwaysTemplate) 
    cell.imageCell.tintColor = MenuTableViewController.fontColor 
    cell.imageCell.backgroundColor = UIColor.clear 

這段代碼放在tableview的cellForRowAt函數中。現在,所有不同的視圖控制器(HomeViewController,InfoViewController等)根本無法訪問菜單控制器,因此無法更改圖像的顏色,無法更改這些圖像的顏色。現在,當我按下不使用任何警報或模式視圖(如家或信息)的選項卡時,圖像保持完好,但是當我按下天氣或遊覽時使用URLSession dataTask下載json文件並顯示警報要請稍候,圖像變成灰色像下面這樣:

enter image description here

我不知道這是怎麼甚至有可能是一個視圖控制器可以改變另一個viewcontrollers子視圖。 在此先感謝 -Jorge

+1

也許你看到的是你的圖標變暗的演示文稿。不要使用圖像模板或將'tintAdjustmentMode'設置爲'normal'來停止淡入淡出的圖標。通常情況下,如果顯示警報或模式控制器,就會發生這種情況 – Andy

+0

你是對的它不是URLSessions問題,它是警告告訴請等待,改變了顏色,並設置'tintAdjustmentMode'爲'正常'做了竅門。如果你想發表一個答案,我會接受它作爲正確的。 –

+0

很高興我猜對了。我在下面發佈了一個答案。謝謝 – Andy

回答

1

也許你看到的就是你的圖標變灰的演示。不要使用圖像模板或將tintAdjustmentMode設置爲normal以停止淡入淡出的圖標。通常情況下,如果顯示警報或模式控制器,就會發生這種情況

1

它看起來像它的默認UITableViewCell點擊樣式。 嘗試將樣式設置爲, 如下回答:How can I disable the UITableView selection highlighting?

斯威夫特:

cell.selectionStyle = UITableViewCellSelectionStyle.none 
+0

如果您覺得這個問題是重複的,請將其標記爲這樣。複製答案通常是一種不好的做法。 – JAL

+1

@JAL它不是重複的,他描述了某個問題,我提出了一個解決方案。上面的鏈接只顯示瞭如何做到這一點。 – Lirik