4
我正在建立一個使用UITableView
的聊天。自然地,每個聊天消息單元的行高會有很大差異。我已經正確計算了每個單元的行高,並且表視圖按照它應該執行的那樣執行。錯誤的滾動位置與estimatedHeightForRowAtIndexPath
但是,我想實施estimatedHeightForRowAtIndexPath:
以加快性能,以防萬一消息。問題在於它影響了scrollToRowAtIndexPath:atScrollPosition:Animated:
的滾動行爲。
在我的viewWillAppear
生命週期方法中,我告訴表視圖以向下滾動到最新消息(即底部消息),如果我不使用estimatedHeightForRowAtIndexPath:
,則執行得很好,但只要我這樣做,似乎就好像是隻有從這個方法返回的值被用來計算滾動位置,並且我在錯誤的位置結束。
是否有可能從使用estimatedHeightForRowAtIndexPath:
而不影響滾動行爲的效率收益中受益?
在我的情況是什麼,這個方法才能正常工作,我將不得不計算組合我的表格視圖中所有行的高度正確嗎?是不是像使用'heightForRowAtIndexPath:'沒有'estimatedHeightForRowAtIndexPath:'一樣昂貴? – 2015-02-09 22:35:21
是的,你是對的。但我認爲只要您需要以編程方式滾動,計算無法繞過。無論是由系統自己計算還是在'scrollToRowAtIndexPath'中計算。 – dopcn 2015-02-10 01:39:38
嗯,那就是我所害怕的。我必須找出一種方法來儘可能高效地進行計算:) – 2015-02-10 13:39:35