我有一個UITableView
有多個部分,與自定義UITableViewCell
子類填充表。在這些UITableViewCell
子類中,我實現了layoutSubviews
來自定義標籤的位置等。UITableView可見單元格不顯示子視圖當看到出現
除了加載視圖時的第一批可見單元格之外,所有單元格的子視圖都在進行調整。它們與故事板中的佈局完全相同,這不是我想要的。例如:
http://i.stack.imgur.com/L5GJh.png
注:綠色和橙色邊框是一種視覺幫助,看是否標籤被調整。
一旦滾動,出現的所有新單元格的子視圖都會按照我編程在layoutSubviews
中的方式進行設置。就第一批可見光單元而言,我可以將它們滾動到屏幕外,然後重新打開,然後完成子視圖佈局。例如:
http://i.stack.imgur.com/jgjch.png
在tableView: cellForRowAtIndexPath:
,我稱之爲[cell layoutIfNeeded]
該方法返回的單元格之前。如果我將其更改爲[cell layoutSubviews]
,則會出現相反的情況,第一批可見單元格應按照它們的佈局排列,但所有滾動時加載的單元格佈局不正確。
我試圖把[cell layoutIfNeeded]
放在[tableview: willDisplayCell:
之內,但沒有運氣。有想法該怎麼解決這個嗎?
在此先感謝!
哇。你真了不起。我關閉了自動佈局,並使用自動調整大小來調整一切,它的工作原理!我想現在我的問題是使用自動佈局的優點是什麼?非常感謝! – AUSTOOO