親愛的同學程序員,IOS 9 - 調用的cellForRowAtIndexPath時
我最近更新的Xcode 7和斯威夫特2,現在,每當我滾動向上或向下滾動/掉電時的tableview細胞跳躍,畫面跳一點點(沒有太瘋狂),但它使導航laggy。 只要我在屏幕上顯示一個新的單元格,就會發生這種情況cellForRowAtIndexPath被調用。
cellForRowAtIndexPath,對於每個單元我實際上使用HanekeSwift,Labels和Buttons(使用switch,case,if等等)設置一堆imageView。
奇怪的部分是,只要我在cellForRowAtIndexPath中評論大部分設置,跳躍部分就消失了。
我試過評論每個部分,但我沒有設法檢測什麼是負責跳轉部分。或者我想知道這是否與治療有很多相關。
每個單元格的高度都不同,我使用自動佈局來檢測每個單元格的高度。 timelineTableView.rowHeight = UITableViewAutomaticDimension timelineTableView.estimatedRowHeight = 600
我還試圖執行estimatedHeightForRowAtIndexPath委託方法和手動計算每個小區的但沒有成功的高度。
任何人都有一個想法,爲什麼我遇到了跳動的部分,爲什麼當我評論所有的東西,跳了沒有?
更新1: 而與時間探查(註釋掉我的cellForRowAtIndexPath方法的一些功能)播放時,我意識到,當的cellForRowAtIndexPath的運行時間比80-90ms下,我沒有看到跳動的部分。此外,運行時間越長,我越覺得跳躍
在設備上運行時,在儀器中使用時間分析器來查找慢速線。但這是一個在細胞製備方法中要做的工作!通過根據設備尺寸進行切換,您也擊敗了自動佈局的要點:) – jrturton
您是否認爲這可能與以下事實有關:這是一個很多細胞製備的事實?我有選擇嗎?我必須爲每個Cell設置所有這些。 – fabdarice
並非所有人都需要每次都做。但用儀器找到你的慢碼,不要猜測。 – jrturton