iOS8新特性Self Sizing Cells榜揖,使用estimatedRowHeight自適應(yīng)cell
iOS UITableView 自適應(yīng)高度的注意事項
優(yōu)化UITableViewCell高度計算的那些事
摘要:
注意事項
當高度變成自適應(yīng)后不代表你就需要在關(guān)注單元格的高度, Apple 的官方文檔強調(diào) estimatedRowHeight 設(shè)置得越精確越好. 因為系統(tǒng)需要利用 estimatedRowHeight 來計算滾動條的高度和位置等數(shù)據(jù). 如果你提供的預(yù)估高度跟實際問題就可以導致一些滾動上的問題, 影響用戶體驗.
設(shè)置估算高度后犯助,contentSize.height根據(jù)“cell估算值 x cell個數(shù)”計算宪摧,這就導致滾動條的大小處于不穩(wěn)定的狀態(tài),contentSize會隨著滾動從估算高度慢慢替換成真實高度蹋肮,肉眼可見滾動條突然變化甚至“跳躍”蚁廓。
若是有設(shè)計不好的下拉刷新或上拉加載控件睡汹,或是KVO了contentSize或contentOffset屬性,有可能使表格滑動時跳動蹄溉。
估算高度設(shè)計初衷是好的咨油,讓加載速度更快,那憑啥要去侵害滑動的流暢性呢柒爵,用戶可能對進入頁面時多零點幾秒加載時間感覺不大役电,但是滑動時實時計算高度帶來的卡頓是明顯能體驗到的,個人覺得還不如一開始都算好了呢(iOS 8更過分棉胀,即使都算好了也會邊劃邊計算)法瑟。
如果不加上估算高度的設(shè)置,自動算高就失效了
如此說來唁奢,貌似還不夠強大只適合簡單的布局時用