Как медленно скрыть элемент пользовательского интерфейса - PullRequest
4 голосов
/ 10 мая 2011

У меня есть подвид, который я хочу переключать между скрытым и не скрытым кнопкой. Как мне исчезнуть в подпредставлении и исчезнуть? На данный момент он просто появляется сразу и сразу исчезает, когда я переключаю кнопку.

Мне интересно, как проще всего сделать эту анимацию. Спасибо

Ответы [ 2 ]

6 голосов
/ 10 мая 2011

В iOS 4.0+ Apple рекомендует использовать их новые блочные методы анимации.Используя их, код будет выглядеть примерно так:

[UIView animateWithDuration:2.0
 animations:^{myView.alpha = 0.0;}];

Свойства, которые вы анимируете, идут внутрь блока (часть ^{...}).Блоки - это что-то вроде функций, поэтому вы можете поместить в них несколько строк кода, если вы хотите анимировать несколько свойств.Например:

[UIView animateWithDuration:0.2
 animations:^{
  view.alpha = 0.0;
  view.backgroundColor = [UIColor redColor];
 }];

Если вам необходимо выполнить действие после завершения анимации, используйте метод +animateWithDuration:animations:completion: (который также использует блоки), например:

[UIView animateWithDuration:0.2
 animations:^{view.alpha = 0.0;}
 completion:^(BOOL finished){ [view removeFromSuperview]; }];

Для получения дополнительной информации ознакомьтесь с разделами UIView Class Reference «Анимации» и «Анимация видов с помощью блоков».

2 голосов
/ 10 мая 2011

Это старый способ до 4.0:

http://objcolumnist.com/2009/07/18/simple-uiview-based-animations-on-the-iphone/

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

float alpha = 1.0; // or 0.0 if it's already visible and you want to fade out
[UIView beginAnimations:@"" context:NULL];
[UIView setAnimationDuration:2.0]; // seconds, not ms. guess how i know?
[mySubView setAlpha:alpha];
[UIView commitAnimations];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...