我有两个原型TableViewCells。一个就是现在的其他复制粘贴。 BasicCell
和BasicCell2
。我刚刚为BasicCell
BasicCell2
这是我的Swift代码
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
if(indexPath.row == 0 && flagcheck == 0 ) {
var cell2 = tableView.dequeueReusableCellWithIdentifier("BasicCell2") as BasicCell2!
if cell2 == nil {
cell2 = BasicCell2(style: UITableViewCellStyle.Default, reuseIdentifier: "BasicCell2")
}
cell2.titlet.text = question+"\n"+"\n"
cell2.backgroundColor = hexStringToUIColor("b2cecf")
cell2.userInteractionEnabled = false
return cell2
}
else if (indexPath.row == 0){
var cell = tableView.dequeueReusableCellWithIdentifier("BasicCell") as BasicCell!
if cell == nil {
cell = BasicCell(style: UITableViewCellStyle.Default, reuseIdentifier: "BasicCell")
}
cell.titlet.text = question+"\n"+"\n"
return cell
}
else {
var cell = tableView.dequeueReusableCellWithIdentifier("BasicCell") as BasicCell!
if cell === nil {
cell = BasicCell(style: UITableViewCellStyle.Default, reuseIdentifier: "BasicCell")
}
cell.titlet.text = self.data1[indexPath.row-1]
return cell
}
}
因此,根据代码,第一行满足第一个if条件,并返回cell2
。并且第一行没有调整大小。这是相同的截图。当我只使用一个单元时,它工作正常。请不要问我为什么要复制细胞。
答案 0 :(得分:0)
您可以检查Cell是否为nil,如果它是nill,则可以使用UITableViewCell
方法初始化,例如
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
if(indexPath.row == 0 && flagcheck == 0 ) {
let cell2 = tableView.dequeueReusableCellWithIdentifier("BasicCell2") as BasicCell2
if cell2 == nil {
cell2 = UITableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: "BasicCell2")
}
cell2.titlet.text = question+"\n"+"\n"
cell2.backgroundColor = hexStringToUIColor("b2cecf")
cell2.userInteractionEnabled = false
return cell2
}
else if (indexPath.row == 0){
let cell = tableView.dequeueReusableCellWithIdentifier("BasicCell") as BasicCell
if cell == nil {
cell = UITableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: "BasicCell")
}
cell.titlet.text = question+"\n"+"\n"
return cell
}
else {
let cell = tableView.dequeueReusableCellWithIdentifier("BasicCell") as BasicCell
if cell == nil {
cell = UITableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: "BasicCell")
}
cell.titlet.text = self.data1[indexPath.row-1]
return cell
}
}
HTH,享受编码!!