ios 模拟连续点击TabBar

2017-01-09  本文已影响0人  Dubai

最近看到好多应用都有一个功能:连续点击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上面了.模拟连续点击刷新界面

出自:笔尖下的诱惑

上一篇下一篇

猜你喜欢

热点阅读