iOS Tabbar 隱藏狀態(tài)詭異顯示出來原因及解決方案

一:問題出現(xiàn)的步驟:

我app的架構(gòu)是一個常見的三級控制器:

UITabbarController--->四個NavigationController--->四個UIViewController作為四大主頁;其中有一個視圖控制器A;

視圖控制器A的配置 ?:

首先:需求原因,我在viewWillAppear方法中有一個網(wǎng)絡(luò)請求,也即是每次視圖出現(xiàn)都會走這個網(wǎng)絡(luò)請求;

其次:視圖控制器A 有一個按鈕需要Push到一個視圖控制器B,而視圖控制器B則不需要tabbar我們調(diào)用了 [VcB setHidesBottomBarWhenPushed :YES]方法;正常情況沒有問題,可以正常隱藏tabbar;

問題出現(xiàn)的過程:

把手機網(wǎng)絡(luò)調(diào)整為very bad network ?也就是弱網(wǎng)模式; 然后進(jìn)行如下操作:進(jìn)入視圖控制器A-->push視圖控制器B----->****重點1:返回視圖控制器A****---->****重點2:再次push視圖控制器B****.........重復(fù)下去;

如果你的網(wǎng)絡(luò)夠慢,手速夠快在 重點1 這一步的時候,由于返回視圖控制器A ,有一個網(wǎng)絡(luò)請求發(fā)出去了,還沒返回,您就已經(jīng)到了重點2 這一步,也就是進(jìn)入了視圖控制器B; 當(dāng)視圖控制器A的網(wǎng)絡(luò)請求返回的時候,就會把視圖控制器B已經(jīng)隱藏的tabbar 再次顯示出來.

二:問題猜測

想著既然視圖控制器A的網(wǎng)絡(luò)請求返回了數(shù)據(jù),那么這些數(shù)據(jù)就需要視圖控制器A來進(jìn)行處理,但是此時視圖控制器B在堆棧的最頂端,也就是說,視圖控制器A不是顯示狀態(tài),他要處理數(shù)據(jù),所以就把Tabbar顯示出來了?

但是為什么會把tabbar顯示出來,我也沒想明白,只能聯(lián)想到響應(yīng)者鏈了,頂端的控件處理不了,就傳遞給父級控件,這樣一來就傳遞給了UITabbarController 所以tabbar就顯示出來了.(注意:這僅僅是猜測,不能當(dāng)真,也請知情的大神指點小弟)

三:解決辦法

根據(jù)上面的猜想,我做了如下處理,問題解決了:

在視圖控制器A的網(wǎng)絡(luò)請求回調(diào)Block中的第一行寫了這樣一句代碼(我用的是AFN):

if (self.navigationController.visibleViewController != self){ ? //self表示視圖控制器A

? ? ? ?return ;

}

也就是說self不是可視狀態(tài),那么久不處理數(shù)據(jù)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,148評論 4 61
  • Swift版本點擊這里歡迎加入QQ群交流: 594119878最新更新日期:18-09-17 About A cu...
    ylgwhyh閱讀 26,004評論 7 249
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,533評論 19 139
  • 一杯咖啡,不苦也不甜,來自迪拜 一股清風(fēng),不急也不緩,吹自陽臺 樓前的白蘭,淡淡芬芳 水中的新芽,淺淺生長 這樣的...
    一生如燕閱讀 254評論 0 0
  • 你知道生活無非痛苦和美麗 相遇或錯過 無數(shù)個難過或幸福的夜晚 我們相互陪伴 之前 現(xiàn)在 以后 沒有歲月可回頭 但愿...
    水育文Wood閱讀 180評論 1 1

友情鏈接更多精彩內(nèi)容