2009-12-19 3 views
2

Может ли кто-нибудь порекомендовать, как я мог бы создать переход на вид, который выглядит как круг, расширяющийся из центра представления?Создайте переход анимации иллюминатора на iPhone?

Любые указатели были бы полезны, или, может быть, ссылка на какой-то аналогичный код, даже на другом языке.

ответ

0

Возможно заполнение экрана черным цветом, а затем удаление черного цвета с использованием EllipseInRect, который начинается с центральной точки анимации и медленно увеличивается по размеру, а затем удаляет другой сегмент, который петли до тех пор, пока он не будет завершен или не достигнет верхнего предела ,

Гладкость анимации будет определяться тем, насколько размер Rect (который создается Ellipse внутри) увеличивается каждые x времени.

Скорость анимации зависит от того, как часто вы увеличиваете размер прямоугольника.

Ознакомьтесь с CoreGraphics, если вы еще этого не сделали. Это довольно мощно.

1

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

CGRect bounds = CGRectMake(0.0f, 0.0f, 100, 100); 

    // Create a new path 
    CGContextRef context = UIGraphicsGetCurrentContext(); 
    CGMutablePathRef path = CGPathCreateMutable(); 

    // Add circle to path 
    CGPathAddEllipseInRect(path, NULL, bounds); 
    CGContextAddPath(context, path); 
    // Clip to the circle and draw the image 
    CGContextClip(context); 
    [image drawInRect:bounds]; //HOW WOULD YOU CLIP A VIEW INSTEAD OF AN IMAGE? 
    CFRelease(path); 
Смежные вопросы