Я создал ячейку прототипа tableview в раскадровке, и я добавил кнопку в ячейку и установил ее тег в indexpath.row. Когда я просматриваю свои ячейки, прокрученная ячейка в верхней части таблицы всегда устанавливает тег равным нулю вместо правильного тега.Передача тега указателя индекса на кнопку внутри ячейки прототипа в tableview
public func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell : UITableViewCell = tableView.dequeueReusableCellWithIdentifier("autoLoadReuseIndentifier", forIndexPath: indexPath)
print("indexpath :\(indexPath.row)")
cell.contentView.viewWithTag(100)?.layer.cornerRadius = 5
tableView.separatorStyle = UITableViewCellSeparatorStyle.None
let tempDict : NSDictionary = savedCardsArray.objectAtIndex(indexPath.row) as! NSDictionary
let bankName = cell.contentView.viewWithTag(102) as! UILabel
deleteButton = cell.contentView.viewWithTag(106) as? UIButton
deleteButton?.tag = indexPath.row
deleteButton?.addTarget(self, action: "deleteCard1:", forControlEvents: UIControlEvents.TouchUpInside)
print("delete button:\(deleteButton)")
// print("indexpath delete tag :\(deleteButton.tag)")
if(self.isSetUpAutoloadSelected){
deleteButton?.hidden = true
}else{
deleteButton?.hidden = false
}
return cell;
}
Всякий раз, когда я прокручиваю ячейки, тег кнопки тега всегда устанавливается на ноль.
какой вид имеет бирку 100, 102 и 106. имя каждого вида пожалуйста. –
Показать журнал 'print (" delete button: \ (deleteButton) ")' –
Повторить после меня «Не используйте теги, они хрупкие, они вызовут у меня больше проблем, чем они решат». Используйте соответствующие подклассы 'UITableViewCell' со свойствами для ссылки на ваши представления. Используйте протокол и делегацию, чтобы получать события кнопок из ячеек обратно в контроллер просмотра. Попросите камеру передать себя делегату, чтобы контроллер представления мог идентифицировать строку – Paulw11