我的应用程序有几十个tableViews,它们都可以正常工作,除了一个相对较长的表,如果我将一个单元格添加为最终单元格,它会因此重叠而重复。
我检查了表源,它有一个这种类型的单元格,为什么它会重复?
我使用这种常用方法按名称调用单元格
let cell = tableView.dequeueReusableCellWithIdentifier(cellName, forIndexPath: indexPath)
毕竟刷新后,你可以看到一个" reportPlace" id,为什么所有这些重复。
items = [["similarPlace", "similarPlace", "similarPlace", "reportPlace"]]
-
免责声明:我检查了所有提到的类似问题的解决方案
答案 0 :(得分:3)
解决方案:仅确定一次身高。
我正在多次设置单元格的高度导致此问题:
def answer_eight():
counties=census_df[census_df['SUMLEV']==50]
# this is wrong you're passing the df here multiple times
regions = counties[(counties[counties['REGION']==1]) | (counties[counties['REGION']==2])]
# here you're doing it again
washingtons = regions[regions[regions['COUNTY']].str.startswith("Washington")]
# here you're doing here again also
grew = washingtons[washingtons[washingtons['POPESTIMATE2015']]>washingtons[washingtons['POPESTIMATES2014']]]
return grew[grew['STNAME'],grew['COUNTY']]
我认为它将采用最后一个,但看起来每个人都会创建一个单元格的实例。
另外,不要重新加载表格超过需要的次数。
并且不要使用def answer_eight():
counties=census_df[census_df['SUMLEV']==50]
regions = counties[(counties['REGION']==1]) | (counties['REGION']==2])]
washingtons = regions[regions['COUNTY'].str.startswith("Washington")]
grew = washingtons[washingtons['POPESTIMATE2015']>washingtons['POPESTIMATES2014']]
return grew[['STNAME','COUNTY']]
方法更改源数据。
答案 1 :(得分:1)
我遇到了同样的问题,并且无法确定为什么会发生这种情况(y位置设置错误),但我做了一个小小的黑客攻击。这解决了我的问题
如果以编程方式创建单元格,只需在单元格类的init
中执行此操作:
override init(frame: CGRect) {
let noProblemFrame = CGRect(x: 0, y: 0, width: frame.width, height: frame.height)
super.init(frame: noProblemFrame)
}
否则在awakeFromNib
override func awakeFromNib() {
let noProblemFrame = CGRect(x: 0, y: 0, width: frame.width, height: frame.height)
frame = noProblemFrame
答案 2 :(得分:0)
我尝试了上述所有答案,但除了 Sandu 的答案外,没有任何效果对我有用,那就是诀窍!
// Working solutions, any value will do
self.tableView.estimatedRowHeight = 200