這似乎是一個非常複雜的非常基本的操作。UITableView seperatorInsets不準確或我正在尋找其他東西?
我有一個單元格的uitableview,我試圖使用heightForRowAtIndexPath來調整大小。我需要單元格根據它們包含的文本來調整大小,所以我使用屬性字符串boundingRectWithSize,傳入表格寬度和窗口高度,並使用出列單元格和UsesLineFragmentOrigin中的正確字體。
對於很多情況下,這會切斷文本的最後一行,我相信這是由於單元格的內容視圖和tableview邊緣之間的偏移造成的,所以當我給boundingRectWithSize指定表格的寬度時,它會計算高度。
當我打開視圖調試「顯示視圖幀」時,我甚至可以看到這種情況。內容視圖的左側和右側有相同的偏移量。
但是,我無法弄清楚如何訪問方法heightForRowAtIndexPath中的偏移量。從視圖調試,我知道表的寬度和contentview之間的差異是40,但我不想硬編碼該值。我最好猜測這個位置是UITableView的一個名爲「separatorInset」的屬性,它是一個具有「左」「右」「向上」和「向下」尺寸的edgeInset。但是,當我檢查該屬性時,除「左」爲20之外,所有維度都爲零。
由於我知道差異是40,如果將寬度減去「left」* 2到boundingRectWithSize,大小爲糾正我所有的測試字符串。
然而,這困擾着我,因爲我期望通過爲寬度 - 「左」 - 「右」,只是用左* 2個或多或少達硬編碼40
我錯過了真正的屬性哪些會告訴我什麼是左右偏移量或是「separatorInsets」被竊聽或做「左」「右」「向上」「向下」意味着除明顯之外的東西? 謝謝。