Есть ли доступный способ или библиотека, чтобы позволить свету?

Я хотел бы сделать светящийся текст, который выглядит, если он сияет или пропускает свет. На самом деле это будет сделано с некоторой размытой в фоновом режиме. Но я ничего не нашел в iPhone SDK, который бы это сделал.

Ответ 1

Вы можете сделать это, используя чистый рисунок кварца. Внутри -drawRect: для UIView или -renderInContext: для CALayer следующий код будет рисовать текст и применять свечение вокруг него:

CGContextSetShadowWithColor( context, CGSizeMake( 0.0, 0.0 ), 20.0f, glowColor );   

[text drawAtPoint:CGPointMake(0.5f, 0.5f) withFont:[UIFont fontWithName:@"Helvetica" size:16.0f]];

где текст - NSString, а glowColor - это CGColorRef для свечения, которое вы хотите применить. В этом примере будет показано свечение, которое вытесняет 20 пикселей из 16-позиционного текста Helvetica и центрируется по тексту.

Вы можете легко преобразовать это в тень, предоставив другое смещение (второй аргумент в первой функции) и используя черный CGColor для тени.

Ответ 2

Как насчет рендеринга текста в первоначально прозрачный буфер с использованием желаемого цвета свечения, затем примените к нему размытие, а затем снова визуализируйте текст поверх текста в нужном цвете текста.

Затем вы можете нарисовать буфер, где бы он ни находился.

См. также ответы на "Как создать размытый текст в представлении iPhone?" , который предполагает, что Cocoa Touch не имеет встроенных фильтров размытия. Вы можете написать свое собственное, конечно.