今天遇到一個問題,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 行那種只占半個屏幕的。