给项目添加一个双击tabBar按钮,实现界面刷新的功能很常见,但是iOS并未提供这一功能,所以只能用单击事件结合两次之间的单击时间间隔来模拟双击,下面是我自己实现的双击tabBar按钮功能:
@property (nonatomic, strong) NSDate *lastDate; //记录上次点击tabbar的时间,用于双击判断
#pragma mark - UITabBarControllerDelegate
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController {
//获取单击的NavigationController
KCNavigationController *nc = (KCNavigationController *)viewController;
NSDate *date = [NSDate date];
if ([self isEqual:nc.topViewController]) {
//处理双击事件
if (date.timeIntervalSince1970 - _lastDate.timeIntervalSince1970 < 0.5) {
//完成一次双击后,重置第一次单击的时间,区分3次或多次的单击
_lastDate = [NSDate dateWithTimeIntervalSince1970:0];
[self refresh];
return NO;
}
_lastDate = date;
}
return YES;
}