1. 程式人生 > >UINavigationController出現nested push animation can result in corrupted navigation bar的錯誤提示

UINavigationController出現nested push animation can result in corrupted navigation bar的錯誤提示

今天在測試過程中,出現了這樣一個bug,分別有兩種情景:

(前提是:app是基於UINavigationController構建的)


1、從Controller-A中push進來B。在B中點選返回,返回的介面為黑色一片。再做返回操作就crash了。

如圖1:


2、從Controller-A中push進入B,此時B中tableview出現錯位現象(圖2),tableview被navigationbar覆蓋了一部分,在B中再push一個C進來。此時只顯示了C的navigationbar,但下方的view還是保留為B的view(圖3)。再進行返回操作,程式crash。

如圖2:


圖3:



崩潰後,檢視控制檯的log,發現這樣一句話:
nested push animation can result in corrupted navigation bar


搗弄了好久,也找了資料,還是沒辦法解決。
後來在Controller-B中的viewdidload列印了navigationcontroller的所有壓棧viewcontrollers,發現在B之前多了一個無關的viewcontroller-D,再檢查程式碼。原來在點選A的cell的時候(didSelectRowAtIndexPath)push了一個D,但在storyboard上,對A的點選已經加了一個跳轉到B的segue。正是由於同一時間push了兩個controller進來,所以就會出現這樣的警告以及後面的奇怪錯誤。


將A中didSelectRowAtIndexPath位置的push程式碼去掉,再測試。問題完全解決了。


糾纏了半天的bug,原來是一個小失誤導致的。
由於整個專案是兩個人一起做的,相互沒溝通好或者沒仔細瞭解好結構就盲目寫程式碼,最終只會花費大量時間在debug上。此次教訓須謹記啊。

相關推薦

UINavigationController出現nested push animation can result in corrupted navigation bar錯誤提示

今天在測試過程中,出現了這樣一個bug,分別有兩種情景: (前提是:app是基於UINavigationController構建的) 1、從Controller-A中push進來B。在B中點選返回,返回的介面為黑色一片。再做返回操作就crash了。 如圖1: 2、從Co

nested push animation can result in corrupted navigation bar問題解決

當接受到推送通知時,需要要求跳轉到指定的頁面。我們登入成功後只有一個viewcontroller,並且為導航檢視。所以可以,使用 popToRootViewControllerAnimated 先跳轉到根檢視,然後在從根檢視push到其他檢視。 這個理論上是沒有問題。但是

iOS 導航欄錯誤 nested push animation can result in corrupted navigation bar

nested pop animation can result in corrupted navigation bar nested pop animation can result in corrupted navigation bar  Finishing up 

【iphone】返回崩潰:nested pop animation can result in corrupted navigation bar nested pop animation can re

nested pop animation can result in corrupted navigation bar nested pop animation can result in corrupted navigation bar  Finishing up a navigation trans

在Linux伺服器釋出專案出現java.util.zip.ZipException: error in opening zip file 錯誤

 問題描述:程式碼在本地環境下測試正常,釋出到Linux伺服器就報如下錯誤。 java.util.zip.ZipException: error in opening zip file at java.util.zip.ZipFile.open(Native Method

交叉編譯uclinux下的應用程式時出現"cannot handle file 'libc.so.6' with TLS data''錯誤提示時的解決辦法.

    最近在PC上用brecis mips uclinux交叉編譯環境編譯應用程式時時常碰到"cannot handle file 'libc.so.6' with TLS data"的錯誤提示,開始是不知何意,無從下手去查問題,又以為是編譯環境有問題,又重新編譯uclin

python執行時出現UnicodeDecodeError: 'gbk' codec can't decode byte 0x89 in position 14: illegal ...的解決辦法

在python第四次實驗作業時: python在讀取檔案時出現“UnicodeDecodeError: 'gbk' codec can't decode byte 0x89 in position 14: illegal multibyte sequence”錯誤 翻譯為

Ubuntu 出現The program 'make' can be found in the following packages問題的解決方法

    今天執行make命令時,提示如下資訊:The program 'make' can be found in the following packages: * make * make-gui

Ubuntu 16.04 LTS 安裝libvips出現”Package vips was not found in the pkg-config search path”

arp dir exp export ron per gconf 部署 director 使用libvips來操作圖像,libvips的部署參考一個Node.js工程:https://github.com/lovell/sharp 在MAC下安裝很順利,到Linux環境下(

everything of people’s life can changed in their twenties

好的 爸爸 勤奮 chan 無限 互聯網 位數 sim span 還記得三年前,獨自背著行李,流浪遠方,來到以前僅僅在地理課本上才熟悉的北國。帶著好奇,帶著期望,帶著激動的心情,想感受毛爺爺當年霸氣的北國風光,千裏冰封的漂亮,想知道北方的面條究竟有多少種花樣,想走

【MySQL】出現“SELECT list is not in GROUP BY clause and contains xxx”錯誤提示

engine 數據 連接 設置 subst sql_mode xxx and sele 需要設置為 sql_mode=‘NO_ENGINE_SUBSTITUTION‘ 設置方式: 1、MySQL客戶端連接上數據庫。 2、當前操作的數據切換成 mysql 3、執行 SELEC

當啟動tomcat時出現tomcat setting should be set in tomcat preference page

ont 分享 gravity tails AI BE step detail art 轉自:https://blog.csdn.net/withyou_wy/article/details/53081800 出現此狀況證明你的tomcat在配置的時候沒有配置成功,通過以

git push到遠程倉庫時出現Git Push Error: insufficient permission for adding an object to repository database

-a clas sudo mission 隱藏 文件夾 ng- l命令 文件和目錄 原因 其中一個原因是git遠程倉庫的目錄的擁有者不在同一個group裏,使得其他用戶在另一個用戶的子目錄中不能添加文件,因為兩者不在同一個組裏面,然後前者就相當於這個子目錄的“其他用戶”,而

Python 中 'unicodeescape' codec can't decode bytes in position XXX escape錯誤解決方案

該錯誤乍看之下是編碼錯誤,實際上是跟路徑寫法有關。 在python中反斜槓“\”不是單純的一個符號,它代表轉義,當他和後面的字元結合起來,會有其他特別的意思,比如\n表示換行,\t表示製表符,python中一些特殊的符號比如下劃線_, 橫槓-,前面都要加個反斜槓,這樣才表示該符號本身,包括反

Centos7 wordpress路徑問題, 出現Sorry, but I can’t write the wp-config.php file.

1.首先可嘗試這位同學的辦法, 修改nginx配置檔案root的目錄; https://blog.csdn.net/edison_03/article/details/82750935 2. 將latest.tar.gz的解壓檔案wordpress, 更改所有者和群組許可權 sudo cho

【轉】Xposed出現 java.lang.IllegalAccessError: Class ref in pre-verified class resolved to unexpected implementation

Xposed出現 java.lang.IllegalAccessError: Class ref in pre-verified class resolved to unexpected implementation的解決方法 第一次在Xposed的框架下編寫模組,在官方給的tutorial上就出現了問題,

Hibernate配置單向一對多或多對一,出現 org.hibernate.MappingException: Repeated column in mapping for entity5

報錯情況就是這樣,網上一般情況是說的 使用的Hibernate實體類對映資料庫時 配置對應 對映時出現了重複情況** should be mapped with insert=“false” update=“false”) 主要是因為 資料庫裡面的欄位只能對映到

解決將Excel表匯入到SQL Server資料庫時出現Text was truncated or one or more characters had no match in the target code錯誤

編寫python爬蟲程式可以在電商、旅遊等網站上爬取相關評論資料,這些資料可以用於詞雲製作、感情詞分析、提取關鍵詞等,也可以將爬取下來的資料以自己的方式進行展示。評論資料爬取下來後,就要考慮怎樣入庫,可以在爬蟲程式中編寫程式碼直接入庫,也可以將爬取到的資料存到Excel表格中,再將Excel表格匯入到資料庫中

exception1:unicodeescape’ codec can’t decode bytes in position XXX: trun錯誤解決方案

pro 三種 描述 exce 轉義 osi 字符串 esc code window 讀取文件可以用\,但是在字符串中\是被當作轉義字符來使用,所以’d:\a.txt’會被轉義成’d:\a.txt’這是正確路徑,所以不會報錯。而‘C:\Users\FrankYuan\Pict

Android編譯出現com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536錯誤解決辦法

踩過的坑, 以下操作,必須在app module中進行。 ========================================== ** Android編譯出現com.android.dex.DexIndexOverflowException: method ID not i