让按钮消失和重新出现

Posted

技术标签:

【中文标题】让按钮消失和重新出现【英文标题】:Getting Buttons to Disappear and Reapper 【发布时间】:2012-03-28 21:02:16 【问题描述】:

我有一个应用程序,其中有一个 IBAction,它可以识别点击手势,我希望点击使屏幕上的按钮消失,然后在点击后重新出现。

- (IBAction)showFullScreen:(UITapGestureRecognizer *)sender 









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

【问题讨论】:

【参考方案1】:

你的意思是你想让他们连续运行两个动画?试试:

[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 的关键帧动画

【讨论】:

我希望用户能够在按钮消失后再次点击以让它们重新出现。类似于照片应用【参考方案2】:

试试这个:

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



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

【讨论】:

【参考方案3】:

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

【讨论】:

【参考方案4】:

在我看来你有两个步骤:首先点击使按钮消失并出现图像,然后点击反转它。由于 alpha 值是浮点数,并且浮点数对于具有可以使用 == 进行比较的确切值并不是很可靠,因此我倾向于使用外部 bool 属性来跟踪这类事情。 (实际上我并没有看到很多将它用于 alpha 的问题,所以请随意检查 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;

【讨论】:

更新文本 -- 我的意思是 alpha 我是 Dev 的新手。因此,如果我只是复制代码并坚持点击手势的方法并将按钮重命名为我分配给它们的名称,那么您提供的代码将执行我需要的操作 这是一个问题还是一个陈述? :D 我正在对你正在尝试做的事情和你的整体结构做出很大的假设。由于 IB 提供的 9/10 或更多是基于视图的,因此几乎可以为几乎对象(如果链接到)赋予不透明度值 - UIButtons、UILabels、UIImageViews 等。如果您希望交换按钮和图像,这应该可以。 我想要一个点击手势让我的按钮消失,然后一旦再次点击,按钮就会回来。有点像在照片应用中点击照片。我认为您提供的代码应该可以工作 好吧,欢迎接受。您会想要取消对图像视图不透明度的引用,但除此之外,是的,听起来这会满足您的需求。

以上是关于让按钮消失和重新出现的主要内容,如果未能解决你的问题,请参考以下文章

iOS:导航栏项目消失和重新出现

如何添加HUD? (iOS)

iPad 和 Chrome 上的网站文本闪烁/闪烁(文本暂时消失然后重新出现)

视频暂停时如何使 vjs-big-play-button 出现?

“已保存的查询”按钮消失了

iPad Safari 滚动会导致 HTML 元素消失并延迟重新出现