国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > iOS > 正文

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

2019-10-21 18:41:19
字體:
供稿:網(wǎng)友

需求

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

ios,tabbar,點擊,刷新

自定義TabBar.jpeg

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

分析

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

實現(xiàn)

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

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

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

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

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

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

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

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

最終的效果請看:

ios,tabbar,點擊,刷新

總結(jié)

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


注:相關(guān)教程知識閱讀請移步到IOS開發(fā)頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 喜德县| 玉屏| 全南县| 台北县| 武邑县| 虹口区| 九龙城区| 金塔县| 清水河县| 会理县| 贡嘎县| 双峰县| 屏东县| 平陆县| 泾阳县| 喀喇| 大渡口区| 星子县| 六枝特区| 营山县| 白河县| 友谊县| 新津县| 克什克腾旗| 景泰县| 定日县| 二连浩特市| 沈阳市| 个旧市| 商河县| 湟中县| 延寿县| 张北县| 库尔勒市| 疏勒县| 德格县| 诸城市| 区。| 扶余县| 巍山| 大新县|