Анімація для захоплення UIButton в iOS

У моєму додатку я хочу дати анімацію для UIButtons , як кнопки "випадуть" на екрані, коли вони будуть ховатися.

Я спробував наступний код, але він не дав мені хороший результат.

[UIView animateWithDuration:1.5
                 animations:^{
                    S1Button.frame = CGRectMake(20, 10, 50, 10);
                }];
[S1Button setHidden:YES];
break;
1
Ви хочете, щоб кнопка була видно під час падіння?
додано Автор AtWork, джерело

7 Відповіді

Ви можете встановити нову позицію та приховати кнопку після анімації.

  [UIView animateWithDuration:0.9 animations:^{
        tradeButton.frame = (CGRect){ CGPointMake(51, 150), tradeButton.bounds.size };
    } completion:^(BOOL finished) {
        tradeButton.hidden = YES;
       //etc.
    }];
5
додано
Це працювало для мене
додано Автор posha, джерело
ohke !! Добре .. Насолоджуйтесь !!!! :)
додано Автор AtWork, джерело
@kevin Не забудьте прийняти відповідь.
додано Автор AtWork, джерело

Використовуйте метод анімації, який має блок завершення, і приховайте туди кнопку. Наразі ваш метод приховання відразу починається, тому ви не бачите анімацію.

4
додано
[UIView animateWithDuration:1 animations:^{
        S1Button.frame = CGRectMake(20, 10, 50, 10);
    } completion:^(BOOL finished) {
        [S1Button setHidden:YES];
    }]
4
додано

Спробуйте це

To fade out:

         [UIView animateWithDuration:0.3 animations:^{
                button.alpha = 0;
            } completion: ^(BOOL finished) {
                button.hidden = YES;
            }];


        To fade in:


          button.alpha = 0;
            button.hidden = NO;
            [UIView animateWithDuration:0.3 animations:^{
                button.alpha = 1;
            }];
1
додано

У вашому коді прихована властивість кнопки не є анімаційною. Коли цей блок анімації запускається, ваша кнопка буде відразу прихована, але вона не зникає/анімує. Відповідним способом зникнення UIView є анімація його альфа-властивості від 1.0 до 0.0 так:

   [UIView animateWithDuration:2.0
                          delay:0.0
                        options: UIViewAnimationCurveEaseOut
                     animations:^{S1Button.frame = CGRectMake(20, 10, 50, 10);S1buttonA.alpha = 0;}
                     completion:nil];
1
додано
 [UIView animateWithDuration:0.25f
                 animations:^{
                     S1Button.frame = CGRectMake(20, 10, 50, 10);
                }completion:^(BOOL completed){
                     [UIView beginAnimations:nil context:nil];
                     [UIView setAnimationDuration:.3];

                     S1Button.alpha = 1;
                     [UIView commitAnimations];

  }];    
1
додано

спробуйте це:

приховати кнопку до завершення анімації, анімація не відображається. Отже, замініть цей код таким чином:

[UIView animateWithDuration:1.5 animations:^{
    S1Button.frame = CGRectMake(20, 10, 50, 10);
} completion:^(BOOL finished) {
    [S1Button setHidden:YES];
}];

break;
0
додано
IT KPI iOS
IT KPI iOS
74 учасників

Чат обсуждения IOS. - Оффтоп, флуд, оскорбления и вбросы здесь не приняты. - За нарушение - предупреждение или mute на неделю. - За спам и рекламу - ban. Все чаты IT KPI: https://t.me/itkpi/602

ios_jobs_ua
ios_jobs_ua
27 учасників

Mobile Dev Jobs UA
Mobile Dev Jobs UA
20 учасників

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin, RN и т.д.