2015-04-27 5 views
3

Я знаю, как подкрасить UIImage:IOS - Untint UIImage

UIImage* originalImage = curiv.image; 
UIImage* imageForRendering = [originalImage imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]; 
curiv.image = imageForRendering; 
curiv.tintColor = [UIColor RedColor]; 

Но как untint к первоначальному UIImage?

+0

Вы можете сохранить 'tintcolor'' UIImage', перед тем, как нарисовать его красным цветом, теперь id, который вы хотите отменить, затем установите ранее сохраненный tintcolor. Если это не так, тогда предоставьте больше кода для подробностей. –

+0

@ViralSavaj Как сохранить 'tintColor'' UIImage'? Это касается кода, который у меня есть для tintColor. – sooon

+0

Пожалуйста, обратите внимание на мой ответ: –

ответ

2

Вы можете попробовать, как этот путь

UIImage* originalImage = curiv.image; 
UIImage* imageForRendering = [originalImage imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]; 
curiv.image = imageForRendering; 
UIColor *prevTintColor = curiv.tintColor; 
//set new Tint color as Red 
curiv.tintColor = [UIColor redColor]; 


//Now if you want to set back previous color 
curiv.tintColor=prevTintColor; 

Наслаждайтесь Coding !!

+0

Это работает, но на самом деле не решает моя проблема. Потому что 'UIImages' являются динамическими, и у меня может быть несколько размытых. Во всяком случае, спасибо за решение. – sooon

+0

В объекте WKInterfaceImage или UIImage нет свойства tintColor. Разработчики docs на developer.apple.com не выставляют никаких методов под названием «tintColor», но не стесняйтесь исправить меня, если я ошибаюсь. – Ninja

+0

@simonzhu Вы наполовину правы, нет 'tintColor' для 'UIImage', но мы получаем и устанавливаем' tintColor' для 'UIImageView', в выше Q & A' curiv' является объектом 'UIImageView'. Поэтому мы можем установить для него tintColor. Вы можете сослаться на это от Apple Developer Doc. –

 Смежные вопросы

  • Нет связанных вопросов^_^