Я хотел бы создать кнопку, которая будет отображаться всего 5 секунд, а затем исчезнет. Пользователь должен нажать кнопку, прежде чем она исчезнет. Поэтому я использую animationWithDuration установить альфа-1, а затем установить его на 0. Вот мой код ...UIButton показать и исчезнуть с анимацией
__block UIButton *showButton = [[UIButton alloc]initWithFrame:CGRectMake(0, 0, 150, 40)];
[showButton setTitle:@"go to next page!" forState:UIControlStateNormal];
showButton.alpha = 0;
[showButton addTarget:self action:@selector(showButtonClick) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:showButton];
[UIView animateWithDuration:1
delay:0
options: UIViewAnimationOptionCurveEaseInOut
animations:^{
showButton.alpha = 1.0;
}
completion:nil];
[UIView animateWithDuration:0.5
delay:3.0
options: UIViewAnimationOptionCurveEaseInOut|UIViewAnimationOptionAllowUserInteraction
animations:^{
showButton.alpha = 0.0;
}
completion:^(BOOL finished){
[showButton removeFromSuperview];
showButton = nil;
}];
-(void)showButtonClick{
NSLog(@"click")
}
Но showButtonClick не дозвонились. Что я делаю неправильно?
Когда вы нажмите на кнопку? После того, как кнопка полностью виден или пока она видна во время первой анимации? –
После того, как кнопка полностью виден. Задержка, похоже, не работает. – Jenny