bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

iOS開發中TabBar再次點擊實現刷新效果

需求

網站建設哪家好,找創新互聯建站!專注于網頁設計、網站建設、微信開發、成都微信小程序、集團企業網站建設等服務項目。為回饋新老客戶創新互聯還提供了蓬萊免費建站歡迎大家使用!

之前已經實現了自定義TabBar,如圖所示:

iOS開發中TabBar再次點擊實現刷新效果 

自定義TabBar.jpeg

現在需要實現一個類似今日頭條TabBar的功能 —— 如果繼續點擊當前TabBar的選中項,那么該界面需要刷新UITableView。

分析

既然已經自定義了TabBar,那么最簡單的就是在自定義中給TabBar中需要的UITabBarButton添加事件 —— 點擊就發送通知,并且將當前的索引傳出去。對應的界面監聽通知,拿到索引比對,如果和當前索引一致,就執行對應的操作。

實現

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

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

2. 監聽事件,發送通知

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

對應的UIViewController監聽通知

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

3. 監聽到通知,比對后執行操作

-(void)doubleClickTab:(NSNotification *)notification{
 //這里有個坑 就是直接用NSInteger接收會有問題 數字不對
 //因為上個界面傳過來的時候封裝成了對象,所以用NSNumber接收后再取值
 NSNumber *index = notification.object;
 if ([index intValue] == 1) {
  //刷新
 }
}

最終的效果請看:

iOS開發中TabBar再次點擊實現刷新效果

總結

以上所述是小編給大家介紹的iOS開發中TabBar再次點擊實現刷新效果,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對創新互聯網站的支持!

網頁名稱:iOS開發中TabBar再次點擊實現刷新效果
分享URL:http://vcdvsql.cn/article8/gjogop.html

成都網站建設公司_創新互聯,為您提供網頁設計公司響應式網站關鍵詞優化網站營銷動態網站網站導航

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都app開發公司