2016-04-17 72 views
0

我有一個問題,似乎並沒有被問到過,或者至少我不能想到正確的搜索條件來定義我的問題。長話短說,我有一個UITableViewController,它使用三個不同的自定義原型單元格。每個單元格都有一個在故事板中指定的唯一重用標識符。在該表中存在給定自定義單元格的多個實例。每個原型單元包含一個UILabel(左對齊)和一個UIView控件(按鈕,開關等 - 右對齊)。自定義UITableViewCell重新加載行不正確

我設法得到了單元和功能的佈局。我遇到的問題是用戶滾動tableView時。當一個單元格離開屏幕然後返回時,它顯示不正確。或者至少它在一瞬間被正確繪製,然後UILabel的位置上移,UIView控件無法在單元格中看到。當我使用reloadRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation;方法與heightForRowAtIndexpath方法一起動態地隱藏/顯示單元格時,會發生同樣的情況。正如您在the attached video中看到的那樣,單元格會重新加載,但其內容的對齊方式不正確(對於視頻中的水印,感到抱歉)。

任何幫助或建議非常感謝!

+0

你如何排隊? 'dequeueReusableCellWithIdentifier forIndexPath?' – Brandon

+0

請爲你的'tableView:cellForRowAtIndexPath'代碼' –

+0

我剛剛使用'dequeuReusableCellWithIdentifier',因爲我可以確定這和'dequeueReusableCellWithIdentifier forIndexPath'方法有什麼區別。 – trigonoah

回答

0

發現問題正在重置你的出口,以他們各自的「乾淨」的狀態。每次創建單元格時,單元格的約束都會被刪除。猜測這與單元的重用造成了一些衝突。一旦我刪除了行[self removeConstrains:self.constraints],我就能夠獲得所需的性能,而不會使單元「卡住」。

相關問題