首页 > 移动平台 > 详细

ios 控制button点击事件的触发频率

时间:2015-05-19 10:48:33      阅读:768      评论:0      收藏:0      [点我收藏+]

在项目中常常会遇到这样的问题:

button点击就会触发相应的点击事件,比如说是向向服务器发送网络请求或者弹出弹框。

但如果用户点击频率很快的话,那就会不停的触发点击事件,从而使UI错乱。

对于这种问题我的解决方案是:设置布尔值。

(1)对于与服务器有交互的点击事件:点击的时候判断bool值;在发送请求前设置一次;服务器得到应答后改变bool值即可。

(2)对于无服务器交互点击事件:点击的时候判断;执行弹框前设置;弹框完成后延时0.25秒在设置。

直接上代码

....

@property (nonatomic,assign) BOOL hasLiked;

....


 - (void)viewWillAppear:(BOOL)animated

{

    [super viewWillAppear:animated];

    self.hasLiked = YES;

}



- (void)btnClick:(UIButton *)button

{

    __weak VSwiperViewController *weakSelf = self;

    if (button.tag == 500) {

        NSInteger userAccountScore = [[VUserInfoEntityManager sharedManager] getPrivateUserInfo].score;


        if (userAccountScore <_fpzGiftprice && self.hasLiked == YES) {  // 点击的时候判断hasLiked 

            self.hasLiked = NO;// 执行弹框前设置

        

            [weakSelf showNotEnoughCoinsAlertView];

            dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.25 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

             weakSelf.hasLiked = YES; //弹框完成后延时0.25秒在设置

            });

            

        }

}

ios 控制button点击事件的触发频率

原文:http://blog.csdn.net/u011404663/article/details/45828107

(1)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!