Я пытаюсь создать свечение только по сторонам прямоугольника. Остальная часть прямоугольника должна быть заполнена прозрачным цветом. Я создаю UIView
с CGRect
определенного размера, а затем -Свечение вокруг сторон прямоугольника
self.backgroundColor = [UIColor clearColor];
self.layer.borderWidth = 2.0f;
self.layer.borderColor = [UIColor colorWithRed:203/255.0 green:1.0 blue:252/255.0 alpha:1.0f].CGColor;
self.layer.cornerRadius = 5.0f;
int glowSpread = 2;
CGRect glowRect = CGRectMake(self.bounds.origin.x-glowSpread, self.bounds.origin.y-glowSpread, self.bounds.size.width+2*glowSpread, self.bounds.size.height+2*glowSpread);
self.layer.shadowPath = [UIBezierPath bezierPathWithRoundedRect:glowRect cornerRadius:5.0].CGPath;
self.layer.shadowColor = [UIColor colorWithRed:203/255.0 green:1.0 blue:252/255.0 alpha:1.0f].CGColor;
self.layer.shadowOffset = CGSizeMake(0, 0);
self.layer.shadowOpacity = 0.5;
self.layer.shadowRadius = 2.0f;
С выше подхода, я получаю свечение вокруг стороны, но все CGRect
наполняется цвета тени, которые я не хочу. Любое предложение?
Я попробовал это один раз, и это ближе, чем я получил, поэтому +1 для вопроса. Мое решение закончилось тем, что просто сделало светящийся прямоугольник и применил его, используя resizableImageWithCapInsets. – danh