Я пытаюсь создать ячейки в моем представлении таблицы, каждый с динамически разрешенными кнопками с правой стороны; некоторые с 2 кнопками, некоторые с 4 кнопками. Проблема заключается в том, что, несмотря на то, что таблица просмотра загружается, как я бы хотел, при прокрутке, ячейки в конечном итоге имеют все четыре кнопки - даже те, которые имели только две руки.Как удержать табличные ячейки от наследования в Swift
Что я делаю неправильно?
Вот мой код:
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell:UITableViewCell = tableView.dequeueReusableCellWithIdentifier("cell")! as UITableViewCell
cell.textLabel?.text = self.items[indexPath.row][0]
cell.accessibilityLabel = self.items[indexPath.row][bigSort]
cell.selectionStyle = .None
for x in 0..<4
{
let button = UIButton()
let marginStart = w - tickWidthInCell * 4 - 9 + (tickWidthInCell + 2) * x
let margin = CGFloat(marginStart)
button.frame = CGRectMake(margin, CGFloat(cellHeightMargin), CGFloat(tickWidthInCell), CGFloat(tickHeightInCell))
button.layer.borderColor = GRAY.CGColor
if (self.items[indexPath.row][1] == "Special" && x % 2 != 0)
{
button.backgroundColor = UIColor.clearColor()
button.layer.borderColor = UIColor.clearColor().CGColor
//button.hidden = true
}
else
{
button.addTarget(self, action: #selector(cellButtonClicked), forControlEvents: .TouchUpInside)
button.backgroundColor = UIColor(netHex:0x222222)
button.layer.borderWidth = 1
}
cell.contentView.addSubview(button)
}
return cell
}
Думаю, вам не хватает ключевой части кода. Дайте нам весь метод для того, где вы деактивируете ячейку. –
Используйте что-нибудь в методе прокрутки ячеек, иначе ячейки будут повторно использованы, и это обязательно произойдет. –
Помните, что ячейки снова используются при прокрутке. вам нужно убедиться, что ваша ячейка хороша для повторного использования путем переопределения «readyForReuse» вашего класса ячеек и очистки любого состояния от более ранней инициализации там ... – Shripada