Так что я правильно установил тень слоя UIView в первый раз (он отлично выглядит), но когда я пытаюсь изменить цвет (ничего больше, просто layer.shadowColor
), он не будет обновляться в вид. Он по-прежнему показывает исходный цвет. Я уже пробовал layer setNeedsDisplay
без везения.CALayer shadowColor не меняется
self.profileIconShadow.layer.cornerRadius = self.profileIcon.frame.size.height/2;
self.profileIconShadow.layer.shadowColor = [UIColor blackColor].CGColor;
self.profileIconShadow.layer.shadowOpacity = 1.0f;
self.profileIconShadow.layer.shadowRadius = self.profileIcon.frame.size.width * .025;
self.profileIconShadow.layer.shadowOffset = CGSizeZero;
// if ([entry[@"isInactive"] boolValue]) { // Original
if (true) { // Overrode temporarily to test it out
self.profileIconShadow.layer.shadowColor = [UIColor redColor].CGColor;
[self.profileIconShadow.layer setNeedsDisplay];
}
Тень приготовьтесь правильно в первый раз, по мере необходимости. Но затем я пытаюсь изменить цвет, он по-прежнему остается черным, а не красным.
Вот как это должно выглядеть.
Редактировать # 2: Я заметил, что если я прокомментирую черный цвет, когда я впервые создаю тень, он изменится на красный позже. Могу ли я не менять shadowColor
несколько раз?
Пробовали и отлично работает для меня .. вы уверен, что вы не присваиваете цвет 'self.profileIconShadow.layer.shadowColor' где-то el как таковые? – 0yeoj
@ 0yeoj У меня есть код, где я сначала устанавливаю его черным, а затем, когда он должен меняться на красный. – Victor