Список примеров того, как "кратко привлечь внимание" к объекту на экране в iOS?
В iOS, как один кратко привлечь внимание к объекту на экране? Предположим, создать кратковременное свечение или вызвать появление тени и затем исчезнуть?
Для целей этого вопроса давайте определим "объект на экране" как экземпляр UIImageView.
Кроме того, если возможно, дайте пример того, как привлечь внимание к кнопке.
Ответы
Ответ 1
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.1f];
yourView.transform = CGAffineTransformMakeScale(1.1, 1.1);
[UIView commitAnimations];
Или, конечно, одно и то же с блочной анимацией. И после того, как внимание ушло с вашего взгляда, вы можете использовать:
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.1f];
yourView.transform = CGAffineTransformIdentity;
[UIView commitAnimations];
Ответ 2
Большинство людей перечисляют код, но я придерживаюсь описания некоторых примеров;
- Я видел, что объекты ненадолго растут и сжимаются до их нормального размера, чтобы привлечь внимание.
- Bejeweled (игра Popcap) позволяет бриллиантам ненадолго "сиять" (как если бы солнечный свет проходил над ним), чтобы дать вам тонкий намек.
- Я видел, как некоторые приложения используют короткую руку или фиктивную точку символа для некоторого объекта
И, конечно же, вы всегда можете представить скрепку, чтобы рассказать вам, что.
![enter image description here]()
Ответ 3
Вот простая анимация хопа...
- (void)drawAttn
{
float jumpHeight = 20.0;
CGPoint originalPoint = objectForAttn.center;
CGPoint jumpPoint = CGPointMake(objectForAttn.center.x, objectForAttn.center.y - jumpHeight);
[UIView animateWithDuration:0.20 delay:0.0 options:UIViewAnimationOptionAutoreverse animations:^{
[objectForAttn setCenter:jumpPoint];
} completion:^(BOOL finished) {
/* do other stuff after hop */
}];
}
Ответ 4
Мое приложение QCount (бесплатно в магазине, коснитесь "неправильного" номера 3 раза) использует анимацию затухания следующим образом:
(заметьте, я написал это, когда я был ДЕЙСТВИТЕЛЬНО новичком в iOS, поэтому, возможно, есть более компактный способ его записи)
aLabel = // a UILabel I get from somewhere
aColor = aLabel.backgroundColor;
[UIView animateWithDuration:0.2
delay: 0.0
options: UIViewAnimationOptionCurveEaseOut
animations:^{
aLabel.alpha = 0.0;
}
completion:^(BOOL finished){
// Wait .2 seconds and then fade in the view
[UIView animateWithDuration:.2
delay: 0.0
options:UIViewAnimationOptionCurveEaseIn
animations:^{
aLabel.alpha = 1.0;
}
completion:nil];
}];
Ответ 5
Существует множество вариантов: прыжки, подчеркивание, вибрация, мигание, поворот, масштабирование, торможение вокруг и их комбинации.
Но IMO, эффект сияния на тексте "слайд для разблокировки" отлично.
Вы можете проверить это здесь:
iPhone "слайд для разблокировки" анимация
Ответ 6
Я хотел обратить внимание на ярлык, значение которого изменилось. Эта простая анимация создает приятную анимацию "Я изменил"...
//copy the label
UILabel *newPageLabel = [[UILabel alloc] initWithFrame:_countLabel.frame];
[newPageLabel setFrame:CGRectOffset(newPageLabel.frame, 0, 0)];
newPageLabel.text = _countLabel.text;
newPageLabel.textAlignment = _countLabel.textAlignment;
newPageLabel.backgroundColor = _countLabel.backgroundColor;
newPageLabel.textColor = _countLabel.textColor;
newPageLabel.font = _countLabel.font;
//scale and fade out the copied label
[self.navigationController.toolbar addSubview:newPageLabel];
[UIView animateWithDuration:0.5
delay:0.0
options:UIViewAnimationOptionLayoutSubviews
animations:^{
newPageLabel.transform = CGAffineTransformMakeScale(2,2);
newPageLabel.alpha = 0;
}
completion:^(BOOL finished){
[newPageLabel removeFromSuperview];
}
];