Создание затухающего экранного эффекта iphone - PullRequest
1 голос
/ 31 июля 2011

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

Как получить эффект анимированного затухания?

-(IBAction) loginToApp:(id)sender{
     //fade in view
}

Ответы [ 2 ]

2 голосов
/ 31 июля 2011

Добавьте еще один вид поверх вашего вида, окрашенный в черный цвет. Вы можете сделать это в IB или программно, просто убедитесь, что он имеет более высокий z-порядок (сверху). Сделайте его альфа = 0. Тогда:

-(IBAction) loginToApp:(id)sender{
     [UIView animateWithDuration:1.5 animations:^{ myview.alpha = 1.0; }]
}

... очевидно, вам нужен выход или переменная myview, связанная с этим представлением. 1,5 = секунды. Изменить для ваших нужд.

0 голосов
/ 31 июля 2011

Конечно, вы можете. Вы можете создать представление наложения по своему усмотрению, но это сработает (при условии, что вы где-то создадите соответствующие переменные экземпляра). Мой код был в моем контроллере вида, поэтому [self view] возвращает вид, над которым я хочу затенить.

shadeView = [[UIView alloc] initWithFrame:[[self view] bounds]];
shadeView.backgroundColor = [UIColor blackColor];
shadeView.alpha = 0.0f;
spinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorStyleWhiteLarge];
spinner.center = CGPointMake(CGRectGetMidX([shadeView bounds]),
                             CGRectGetMidY([shadeView bounds]));
[shadeView addSubview:spinner];
[[self view] addSubview:shadeView];

Для представления:

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:2.0];
[spinner startAnimating];
shadeView.alpha = 0.7f;
[UIView commitAnimations];

И скрыть:

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0];
[spinner stopAnimating];
shadeView.alpha = 0.0f;
[UIView commitAnimations];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...