2015-11-18 36 views
0

我有一個UITableView是每個單元格的大小不同(這取決於需要顯示的內容的數量)。UITableView滾動條在用戶滾動時的大小發生變化

因此(或者至少我認爲是結果),當用戶第一次開始滾動時,垂直滾動條最初很小。隨着用戶繼續滾動,滾動條增長,當用戶將其移動到最後一個單元格時,滾動條達到正確的長度。

任何人有任何想法如何解決這個問題(我正在使用Swift和Xcode 7.1.1)?

回答

1

這通常發生在您給UITableView的估計行高始終大於實際行高時。

既然你不說你如何確定你的行的高度,我會假設你正在使用自動佈局。

您可能要將estimatedRowHeight設置爲接近平均行高的值。

tableView.estimatedRowHeight = 100 

另一種選擇是使用UITableViewDelegate方法返回的估計高度更接近實際值的每一行。

func tableView(tableView: UITableView, estimatedHeightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat { 
    let estimatedHeight = // some fast calculation based on the data for the row 
    return estimatedHeight 
} 

第一種選擇是,如果您的行通常具有相同的大小且變化很小,第二種選擇是更好的,如果行大小可以有很多變化,或者你只是無法知道什麼是好的平均值。

+0

謝謝!這工作! – Schuey999

相關問題