美文网首页
ios 模拟连续点击TabBar

ios 模拟连续点击TabBar

作者: Dubai | 来源:发表于2017-01-09 21:42 被阅读0次

    最近看到好多应用都有一个功能:连续点击tabBar刷新界面,我自己就研究了一下,今天来给大家分享一下。

    思路:

    1、实现UITaBarController的代理方法.

    2、计算第一次点击与第二次点击时间间隔小于0.6s就认为连续点击(这个时间可以根据实际情况来定)

    3、在点击对应的那个TabBar或者对应的那个[UIController class]发送通知进行界面刷新

    主要代码:

    - (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController NS_AVAILABLE_IOS(3_0)

    {

    UIViewController * vc = tabBarController.selectedViewController;

    NSDate *date = [NSDate date];

    if (vc == viewController) {

    if (date.timeIntervalSince1970 - self.lastDate.timeIntervalSince1970 <= 0.5) {

    if(tabBarController.selectedIndex == 0){

    static NSString *tabBarDidSelectedNotification = @"tabBarDidSelectedNotification";

    //当tabBar被点击时发出一个通知

    [[NSNotificationCenter defaultCenter] postNotificationName:tabBarDidSelectedNotification object:nil userInfo:nil];

    NSLog(@"gghtt77889900");

    }

    //如果双击,就将lastDate置成一个较小的值,防止多次重复点击造成的方法重复调用

    self.lastDate = [NSDate dateWithTimeIntervalSinceReferenceDate:1000];

    }else {                //如果不是双击,记录最后一次点击时间

    self.lastDate = date;

    }

    return false;

    }else {

    //如果换了按钮点击,记录下最后一次点击时间

    self.lastDate = date;

    }        return true;

    }

    Demo我已经传到我的github上面了.模拟连续点击刷新界面

    出自:笔尖下的诱惑

    相关文章

      网友评论

          本文标题:ios 模拟连续点击TabBar

          本文链接:https://www.haomeiwen.com/subject/qsbhbttx.html