ios - 如果在一定时间内未交互,则隐藏按钮

标签 ios button timer

我正在寻求实现与android上的zoomControl相似的行为,按钮在其中出现,并且在与按钮交互时保持可见,但是如果在一段时间内未与按钮交互,它们就会消失。

一般逻辑如下所示:

显示按钮:在我希望它显示的时间开始某种计时器/事件

如果与按钮发生交互,则将计时器/事件重置为新的时间量

如果点击了计时器/事件,则隐藏按钮。

我可以对一些方法运行performSelector afterDelay,该方法将在每次交互时都隐藏按钮,并让performSelector调用hide方法的按钮检查一些计数/标志,该计数/标志将随每次交互而增加..似乎不太优雅:

显示按钮:递增计数:performSelector 5秒后隐藏

按钮操作:增加计数:执行选择器5秒钟后隐藏

隐藏:如果count!= 0,则递减计数,否则不执行任何操作,否则隐藏按钮

有没有更好的办法?这对我来说有点糊涂。

最佳答案

用制作NSTimer

myButtonHideTimer = [NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(hideButton:) userInfo:nil repeats:NO];

然后,如果您在计时器触发 call 之前进行了互动
[myButtonHideTimer invalidate];//This stops the event from triggering

然后重新创建计时器以重置触发时间

关于ios - 如果在一定时间内未交互,则隐藏按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10850645/

相关文章:

iphone - #import "xxx"和#import <xxx> 有什么区别?

ios - ScrollView 改变按钮 backgroundImage 时跳转到页面顶部

Facebook 喜欢按钮不显示在 Chrome 中

java - 制作一个简单的计时器

Javascript 计时器和页脚 div

c# - 如何创建在用户设置的特定日期和时间弹出的WPF C#应用程序?

ios - iPad 1 与 iPad 2 GPU 确定的最佳技术?

ios - 多个 iOS 开发者帐户可能吗?同一家公司 = 同一 DUNS

javascript - Sharepoint 编辑按钮,允许用户编辑 Web 部件列表中的数据

javascript - 信息窗口按钮 jQuery 事件