最近看到好多應(yīng)用都有一個功能:連續(xù)點擊tabBar刷新界面,我自己就研究了一下,今天來給大家分享一下。
思路:
1份帐、實現(xiàn)UITaBarController的代理方法.
2璃吧、計算第一次點擊與第二次點擊時間間隔小于0.6s就認(rèn)為連續(xù)點擊(這個時間可以根據(jù)實際情況來定)
3、在點擊對應(yīng)的那個TabBar或者對應(yīng)的那個[UIController class]發(fā)送通知進(jìn)行界面刷新
主要代碼:
- (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";
//當(dāng)tabBar被點擊時發(fā)出一個通知
[[NSNotificationCenter defaultCenter] postNotificationName:tabBarDidSelectedNotification object:nil userInfo:nil];
NSLog(@"gghtt77889900");
}
//如果雙擊废境,就將lastDate置成一個較小的值畜挨,防止多次重復(fù)點擊造成的方法重復(fù)調(diào)用
self.lastDate = [NSDate dateWithTimeIntervalSinceReferenceDate:1000];
}else {? ? ? ? ? ? ? ? //如果不是雙擊,記錄最后一次點擊時間
self.lastDate = date;
}
return false;
}else {
//如果換了按鈕點擊噩凹,記錄下最后一次點擊時間
self.lastDate = date;
}? ? ? ? return true;
}
Demo我已經(jīng)傳到我的github上面了.模擬連續(xù)點擊刷新界面
出自:筆尖下的誘惑