2014-09-11 73 views
0

如你所知,在iOS的7和之前的版本,tableView:heightForRowAtIndexPath:tableView:cellForRowAtIndexPath:之前調用。換句話說,如果UITableView不使用估計的高度特徵,它將在計算細胞之前計算每個細胞的高度。正在計算在iOS 8上更改的UITableViewCell的高度?

不過,我最近發現,誰計算單元的高度委託方法是由tableView:cellForRowAtIndexPath:每一個決策單元調用。我想知道爲什麼在iOS8中更改調用過程。另外,我想知道如何在iOS8中設置支持單元格動態高度的UITableView,並保留之前版本中使用的前一種方法。

+0

你的意思'的tableView:heightForRowAtIndexPath'了,不再在iOS8上叫什麼? – mostruash 2014-09-11 08:09:11

+0

@mostruash沒有。 'tableView:heightForRowAtIndexPath'由'tableView:cellForRowAtIndexPath:'調用。 – 2014-09-11 09:21:34

回答

0

如果你沒有實現委託方法:tableView:estimatedHeightForRowAtIndexPath:那麼tableView:heightForRowAtIndexPath:將在tableview中爲每個單元格調用。

您的問題不表明你實現這個方法,所以很可能這就是問題所在。

+0

儘管tableView:estimatedHeightForHeaderInSection方法是針對標題部分調用的,但不針對單元格調用tableView:heightForRowAtIndexPath方法。 – nikhil84 2014-09-11 08:19:54

+0

這不是我所說的。 – Anorak 2014-09-11 09:20:37

0

iOS8支持動態單元尺寸。如果您沒有實現tableView:heightForRowAtIndexPath:,並且在您的單元格上啓用了自動佈局,系統將計算出適合單元格內容的大小並將該大小賦予單元格。這非常方便,因爲從iOS8開始,實現動態單元格大小現在非常容易,而之前它非常困難。

相關問題