Я нуждаюсь в помощи с Обратными вызовами Анимации (iPhone)

1) установить предварительную версию

$ sudo apt-get install build-essential checkinstall

$ sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev

2) Перейдите в папку src и получите tar-файл python3.5.2

$ cd /usr/src

$ wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz

3) Теперь распакуйте загруженный архив на свой система.

$ sudo tar xzf Python-3.5.2.tgz

4) Скомпилируйте источник, используя alInstall

$ cd Python-3.5.2

$ sudo ./configure --enable-optimizations

$ sudo make altinstall

5) Проверьте установку

$ python3.5 -V
6
задан TheSoftwareJedi 3 January 2009 в 11:14
поделиться

2 ответа

Я знаю, что Вы сказали использование CAKeyframeAnimations, но если Вы хотите простую анимацию свойств UIView (источник, границы, альфа, и т.д.), можно перенести изменение свойства или свойств в начинании / блок фиксации и указать метод делегата, который называют после завершения анимации. Пока метод делегата берет три аргумента, можно назвать его вообще, Вы хотите. Например:

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:ANIMATIONDURATIONINSECONDS];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(yourAnimationHasFinished:finished:context:)];
// Change property or properties here
[UIView commitAnimations];

вызовет метод

- (void)yourAnimationHasFinished:(NSString *)animationID finished:(BOOL)finished context:(void *)context;

быть названным. Произвольное именование этого позволяет, предоставил бы Вам с помощью разделения обработки для завершения различных анимаций. Я предпочитаю это для простых анимаций.

Для контакта с более сложными анимациями, которые взаимодействуют непосредственно с CALayers, animationDidStop:finished: метод делегата действительно возвращает объект Animation, который закончился. При создании одного экземпляра, который является делегатом к нескольким анимациям, Вы могли создать NSMutableDictionary анимаций и NSNumbers для использования в операторе переключения в animationDidStop:finished: метод. Поскольку Вы создаете CAKeyframeAnimation, используйте setObject:forKey: для присвоения его его соответствию числу затем используйте objectForKey: найти число, которое соответствует той анимации в методе завершения и подает это в оператор переключения.

11
ответ дан 8 December 2019 в 04:56
поделиться

Можно указать название анимации и считать его в методе делегата.

[animation setValue:"firstAnimation" forKey:@"name"];

...

- (void)animationDidStop:(CAAnimation*)animation finished:(BOOL)finished {
  if([[animation valueForKey:@"name"] isEqual:@"firstAnimation"] && finished) {
    ...
  }
}
13
ответ дан 8 December 2019 в 04:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: