iOS UITableView 滾動后彈回最上面

今天遇到一個問題,tableView往上滾,下面的cell可以顯示出來,但是當(dāng)我手指放掉的時候,tableView就又自己回到了最頂部,視覺上就是彈回去了。

心里大概知道是tableView的高度出了問題,于是去檢查,發(fā)現(xiàn):

tableView的高度寫的是:( cell.height + footer.height ) * _dataArray.count - footer.height.

//header的高度是CGFloatMin;

咋一看,沒毛病?。?/p>


UITabelView繼承于UIScrollView,想要滾動,則必須tableView的高度 < contenSize.

tableView的contenSize不需要我們?nèi)ピO(shè)置,它會自動計算,一般是等于( cell.height + footer.height + header.height ) * _dataArray.count .

有個比較討巧的辦法是設(shè)置tableView的高度 = 屏幕的高度 - nav.height - tabbar.height ;?

這樣,tableView的高度 就是小于 contenSize的,就可以滾動啦。

當(dāng)然,上面講的這種解決辦法的前提是tableView占滿整個屏幕了,還得往下滾,不是只有3? 4 行那種只占半個屏幕的。

最后編輯于
?著作權(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)容

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