Создать свечение вокруг UIView - PullRequest
6 голосов
/ 13 марта 2011

Я хотел бы нарисовать границу светящегося свечения вокруг UIView, что примерно в 5px от самого фактического UIView.

Пожалуйста, не могли бы вы сказать мне, как мне этого добиться?

Ответы [ 2 ]

13 голосов
/ 13 марта 2011

Вероятно, самый простой способ - создать тень, но использовать светлый цвет вместо темного.Детали теней можно найти здесь: Как нарисовать тень под UIView? и здесь .

Что-то вроде этого должно заставить шар двигаться:

- (void)drawRect:(CGRect)rect
{
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextSaveGState(context);
    CGContextSetShadowWithColor(context, CGSizeMake(0, 0), 10,
                                [UIColor whiteColor].CGColor);
    [super drawRect:rect];
    CGContextRestoreGState(context);
}

Обновление: Я только что попробовал это.Вам нужно будет использовать этот код в супервиде светящегося вида, чтобы он работал правильно.

3 голосов
/ 13 марта 2011

Первое, что я бы попробовал, это встроить UIView в UIView, который имеет изображение свечения.Если эффект свечения - это просто изображение, то вы создаете UIView, содержащее изображение свечения, которое на 10 пикселей выше и шире окружающего UIView.Это позволит 5 пикселей расширения на все 4 стороны.Вы можете сделать все это быстро и легко с помощью Interface Builder.

Если вы хотите, чтобы эффект свечения выглядел действительно круто, подумайте о создании коллекции изображений свечения, которые при просмотре в виде последовательности будут демонстрировать эффект движущегося свечения,Затем вы можете использовать эту коллекцию изображений в UIView и включить анимацию.Все элементы управления UIView имеют встроенную поддержку анимации.

Надеюсь, это помогло.Удачи.

...