Как анимировать внутри UIView? - PullRequest
0 голосов
/ 29 декабря 2010

У меня есть свой пользовательский UIView, внутри которого у меня есть двумерный массив. Этот массив содержит пиксели, которые я рисую в своем пользовательском UIView с помощью метода drawRect.

Теперь я хочу изменить эти пиксели (мой 2-мерный массив) с 100 шагами (или только с массивом результатов). Как сделать этот эффект анимированным? Нет проблем с отображением предыдущего состояния, а затем фактического состояния, но мне нужна анимация между этими состояниями.

Спасибо за любую помощь.

С уважением, Войтек

[ОБНОВЛЕНИЕ, тот же день, 14:15]

А пока я сделал это следующим образом:

- (void)calculate:(NSTimer *)timer {

int result = [myView calc];
if(result > 0)
{
    [NSTimer scheduledTimerWithTimeInterval:0.00001f
                                     target:self selector:@selector(calculate:)
                                   userInfo:nil
                                    repeats:NO];
}
[myView setNeedsDisplay];}

но это не так хорошо, потому что обновление делает его очень медленным. Если я обновляю каждые 2-4 вычисления, моя анимация не плавная.

МОЙ метод рисования:

- (void)drawRect:(CGRect)rect{
int i = 0, j = 0;

CGContextRef myContext = UIGraphicsGetCurrentContext();


// ****************** drawing ********************
for(i = 0; i < 768; i++)
{
    for(j = 0; j < 768; j++)
    {
         if(board[i][j] == 1)
         {
             CGContextSetRGBFillColor (myContext, 1, 0, 0, 1);
             CGContextFillRect (myContext, CGRectMake (i, j, 1, 1));
         }
        else
        {
            CGContextSetRGBFillColor (myContext, 0, 0, 1, 1);
            CGContextFillRect (myContext, CGRectMake (i, j, 1, 1));
        }
    }
}

}

1 Ответ

0 голосов
/ 29 декабря 2010

Рисование по одному пикселю за раз с заливкой прямоугольника займет некоторое время.

Я бы предложил установить область памяти как изображение, которое вы хотите нарисовать, а затем использовать CGImageCreate для создания изображения, которое вы можете нарисовать в UIView.*

http://www.iphonedevsdk.com/forum/iphone-sdk-development/23525-cgimagecreate-alpha.html

http://iphonedevelopment.blogspot.com/2009/04/creating-uiimages-from-tga-data.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...