ios 模拟连续点击TabBar

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


出自:笔尖下的诱惑

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容