由於專案中需要使用自動布局,因此本人採用masonry布局。但在布局之後,螢幕重新整理呼叫reloaddata會間歇性的抖動,體驗及其差。
產生原因:
在使用自動布局之後,uitableviewautomaticdimension 高度自動適應,就是每次計算高度的時候產生閃動,原因是這個自動布局計算cell高度的時候出現問題。
解決方法:
tableview.estimatedrowheight = 1;
tableview.estimatedsectionheaderheight = 0;
tableview.estimatedsectionfooterheight = 0;
經過除錯發現,採用固定高度布局時,此方法有效可行。但在自動布局的情況下,該解決方案會導致cell無法展開,實現高度自適應。
// 宣告單元格高度字典
nsmutabledictionary *cellheightsdictionary;
// **初始化
cellheightsdictionary = @{}.mutablecopy;
// 宣告表的動態行高度,並在單元格中建立正確的約束
tableview.rowheight = uitableviewautomaticdimension;
// 儲存行高
- (void)tableview:(uitableview *)tableview willdisplaycell:(uitableviewcell *)cell forrowatindexpath:(nsindexpath *)indexpath
//給出準確的高度值
- (cgfloat)tableview:(uitableview *)tableview estimatedheightforrowatindexpath:(nsindexpath *)indexpath
這樣便可以完美的解決了。希望對您有幫助!
Tips 避免cache中的抖動問題
直接對映快取記憶體中的衝突不命中 confict miss 衝突不命中在程式中很常見,會導致令人疑惑的問題。當訪問大小為2的冪的陣列時,直接對映高速緩衝中通常會發生衝突不命中。考慮以下計算兩個向量點積的函式 float dotdrop float x 8 float y 8 return sum 假...
iOS中cell的屬性設定
1.系統預設的顏色設定 1 無色 2 cell.selectionstyle uitableviewcellselectionstylenone 3 藍色,也就是系統預設的顏色 4 cell.selectionstyle uitableviewcellselectionstyleblue 5 灰色6...
iOS 在cell中修改imageView的大小
今天發現在cell中修改imageview的大小時,用frame.size 或者是frame之類的都報錯,然後找到一種解決辦法,直接上 cgsize itemsize cgsizemake 40,40 uigraphicsbeginimagecontextwithoptions itemsize,n...