欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

iOS開發(fā)中TabBar再次點(diǎn)擊實(shí)現(xiàn)刷新效果

 更新時(shí)間:2018年04月26日 08:54:04   投稿:mrr  
這篇文章主要介紹了iOS開發(fā)中TabBar再次點(diǎn)擊實(shí)現(xiàn)刷新效果,實(shí)現(xiàn)方法也很簡(jiǎn)單,需要的朋友可以參考下

需求

之前已經(jīng)實(shí)現(xiàn)了自定義TabBar,如圖所示:

 

自定義TabBar.jpeg

現(xiàn)在需要實(shí)現(xiàn)一個(gè)類似今日頭條TabBar的功能 —— 如果繼續(xù)點(diǎn)擊當(dāng)前TabBar的選中項(xiàng),那么該界面需要刷新UITableView。

分析

既然已經(jīng)自定義了TabBar,那么最簡(jiǎn)單的就是在自定義中給TabBar中需要的UITabBarButton添加事件 —— 點(diǎn)擊就發(fā)送通知,并且將當(dāng)前的索引傳出去。對(duì)應(yīng)的界面監(jiān)聽通知,拿到索引比對(duì),如果和當(dāng)前索引一致,就執(zhí)行對(duì)應(yīng)的操作。

實(shí)現(xiàn)

1. 自定義TabBar的layoutSubviews中綁定事件

- (void)layoutSubviews
{
 [super layoutSubviews];
 for (UIButton * tabBarButton in self.subviews) {
  if ([tabBarButton isKindOfClass:NSClassFromString(@"UITabBarButton")]) {
   //監(jiān)聽tabbar的點(diǎn)擊
   //綁定tag 標(biāo)識(shí)
   tabBarButton.tag = index;
   //監(jiān)聽tabbar的點(diǎn)擊
   [tabBarButton addTarget:self action:@selector(tabBarButtonClick:) forControlEvents:UIControlEventTouchUpInside];
  }
 }
}

2. 監(jiān)聽事件,發(fā)送通知

- (void)tabBarButtonClick:(UIControl *)tabBarBtn{
 
 //判斷當(dāng)前按鈕是否為上一個(gè)按鈕
 //再次點(diǎn)擊同一個(gè)item時(shí)發(fā)送通知出去 對(duì)應(yīng)的VC捕獲并判斷
 if (self.previousClickedTag == tabBarBtn.tag) {
  
  [[NSNotificationCenter defaultCenter] postNotificationName:
   @"DoubleClickTabbarItemNotification" object:@(tabBarBtn.tag)];
 }
 self.previousClickedTag = tabBarBtn.tag;
}

對(duì)應(yīng)的UIViewController監(jiān)聽通知

- (void)viewDidLoad {
 [super viewDidLoad];
 [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(doubleClickTab:) name:@"DoubleClickTabbarItemNotification" object:nil];
}

3. 監(jiān)聽到通知,比對(duì)后執(zhí)行操作

-(void)doubleClickTab:(NSNotification *)notification{
 //這里有個(gè)坑 就是直接用NSInteger接收會(huì)有問題 數(shù)字不對(duì)
 //因?yàn)樯蟼€(gè)界面?zhèn)鬟^來的時(shí)候封裝成了對(duì)象,所以用NSNumber接收后再取值
 NSNumber *index = notification.object;
 if ([index intValue] == 1) {
  //刷新
 }
}

最終的效果請(qǐng)看:

總結(jié)

以上所述是小編給大家介紹的iOS開發(fā)中TabBar再次點(diǎn)擊實(shí)現(xiàn)刷新效果,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評(píng)論