让按钮消失并重新出现

时间:2012-03-28 21:02:16

标签: iphone ios animation gesture

我有一个应用程序,我有一个识别轻敲手势的IBAction,我想点击使屏幕上的按钮消失,然后一旦点击就重新出现。

- (IBAction)showFullScreen:(UITapGestureRecognizer *)sender {








}

我知道它可能是动画。我有4个按钮,UIImageView就是我需要自己出现的

4 个答案:

答案 0 :(得分:4)

你的意思是你希望他们连续运行两个动画?尝试:

[UIView animateWithDuration:1 animations:^{
    view1.layer.opacity = 0;
    view2.layer.opacity = 0;
} completion:^(BOOL finished){
    [UIView animateWithDuration:1 animations:^{
        view1.layer.opacity = 1;
        view2.layer.opactiy = 1;
    }];
}];

您需要包含coregraphics才能访问图层属性。

#import <QuartzCore/QuartzCore.h>

您的另一个选择是使用CAKeyframeAnimation

的关键帧动画

答案 1 :(得分:3)

试试这个:

-(void)showButton {
self.button.hidden = NO;
}


-(IBAction) hidebutton{    
[self performSelector:@selector(showButton) withObject:nil
afterDelay:1.5];}

答案 2 :(得分:1)

隐藏 mybutton.hidden = YES; 显示 mybutton.hidden = NO;

答案 3 :(得分:0)

听起来像你有两个步骤:首先点击使按钮消失并出现图像,seocnd tap反转它。由于alpha值是浮点数,并且浮点数对于具有可以使用==进行比较的精确值不是非常可靠,我倾向于使用外部bool属性来跟踪那种事情。 (我实际上并没有看到将它用于alphas的很多问题,所以请随意检查alpha变量)

if(buttonsShowing)//(button1.view.opacity==1)
{
    [UIView animateWithDuration:1 animations:^{
        button1.view.opacity = 0;
        button2.view.opacity = 0;
        button3.view.opacity = 0;
        imageView.opacity = 1;
    }];
}
}
else
{
    [UIView animateWithDuration:1 animations:^{
        button1.view.opacity = 1;
        button2.view.opacity = 1;
        button3.view.opacity = 1;
        imageView.opacity = 0;
    }];
}
buttonsShowing=!buttonsShowing;