失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 按钮在短时间内多次点击只执行一次(暴力点击)问题

按钮在短时间内多次点击只执行一次(暴力点击)问题

时间:2020-07-19 13:53:03

相关推荐

按钮在短时间内多次点击只执行一次(暴力点击)问题

本文为博主手写总结性文章,如若涉及版权问题,请与博主联系。

关于暴力点击问题解决涉及的主要代码:

@property BOOL violentClick;

self.violentClick = true;

if (self.violentClick == true) {self.violentClick = false;[self performSelector:@selector(violentClickAction) withObject:nil afterDelay:0.5f];//相关操作}

- (void)violentClickAction{self.violentClick = true;}

简单的说明一下思路问题:

先定义一个BOOL型的变量,然后设置变量初始化值为true,接下来在点击操作执行之后的操作中做判断变量是否为true,如果为true说明是第一次点击,并且在第一次点击之后,变量改为false,设置延迟,再将变量改回为true。这样就保证了延迟期间内多次点击只执行一次。

下面举个例子:

#import "ViewController.h"@interface ViewController ()//创建BOOL类型变量@property BOOL violentClick;@end@implementation ViewController- (void)viewDidLoad {[super viewDidLoad];//初始化变量self.violentClick = true;//创建一个按钮UIButton *btn = [[UIButton alloc]initWithFrame:CGRectMake(100, 100, 150, 50)];[btn setTitle:@"我是一个按钮" forState:UIControlStateNormal];[btn setBackgroundColor:[UIColor blueColor]];[btn addTarget:self action:@selector(btnAction) forControlEvents:UIControlEventTouchUpInside];[self.view addSubview:btn];}-(void)btnAction{//判断变量是否为第一次点击if (self.violentClick) {self.violentClick = false;[self performSelector:@selector(violentClickAction) withObject:nil afterDelay:5.0f];NSLog(@"按钮被点击了");}}-(void)violentClickAction{self.violentClick = true;}- (void)didReceiveMemoryWarning {[super didReceiveMemoryWarning];// Dispose of any resources that can be recreated.}@end

PS:因为实在不知道该如何展示效果,所以就不展示了。

如果觉得《按钮在短时间内多次点击只执行一次(暴力点击)问题》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。