2017-02-16 3 views
0

Таким образом, в моем приложении IOS у меня есть меню, предназначенное как это:Swift - цветное изображение сбрасывается, когда оповещение отображается

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. Теперь все разные контроллеры viewview (HomeViewController, InfoViewController и т. Д.) Вообще не имеют доступа к контроллеру меню и, следовательно, не могут изменить цвет изображения, и нигде больше не меняю цвет этих изображений. Теперь, когда я нажимаю одну из вкладок, которые не используют никаких предупреждений или модальных просмотров, таких как home или info, изображения остаются совершенно прекрасными, однако, когда я нажимаю на Погода или экскурсии, которые загружают json-файл с помощью URLSession dataTask и отображают предупреждение для пожалуйста, подождите, изображения становятся серыми, как следующее:

enter image description here

Я не знаю, как это даже возможно, что один ViewController может изменить еще viewcontrollers подвидов. Заранее спасибо -Jorge

+1

Возможно, вы видите тусклое представление ваших значков. Не используйте шаблоны изображений или установите 'tintAdjustmentMode' в' normal', чтобы остановить затухающие значки. Обычно это происходит, если вы показываете предупреждение или модальный контроллер. – Andy

+0

Вы правы, это была не проблема с URLSessions, это было предупреждение, чтобы подождать, подождите, что изменил цвет, и настройка 'tintAdjustmentMode' на' normal' сделала трюк. Если вы хотите опубликовать ответ, я приму его как правильный. –

+0

рад, что догадался. Я написал ответ ниже. Спасибо – Andy

ответ

1

Возможно, что вы видите, приглушенное представление иконок. Не используйте шаблоны изображений или установите tintAdjustmentMode на номер normal, чтобы остановить затухающие значки. Обычно это происходит, если вы показываете предупреждение или модальный контроллер.

1

Похоже, что это стиль по умолчанию UITableViewCell. Попробуйте установить стиль ни, , как ответил здесь: How can I disable the UITableView selection highlighting?

Swift:

cell.selectionStyle = UITableViewCellSelectionStyle.none 
+0

Если вы чувствуете, что этот вопрос является дубликатом, отметьте его как таковой. Как правило, это плохая практика дублирования ответов. – JAL

+1

@JAL это не дубликат, он описал определенную проблему, и я предложил решение. ссылка выше показывает, как это сделать. – Lirik