У меня есть tableView, в котором я отправляю каналы пользователей, и я добавил кнопку с сердцем, как в виде ячейки. Я создал класс для представления ячеек и объявил там @IBOutlet
кнопки. Затем в cellForRowAtIndexPath
в представлении таблицы я вызвал кнопку и сделал indexpath.row
номер тега самой кнопки. Затем я добавил цель с действием, которое нужно выполнить, и создал мой @IBAction
. Теперь я пытаюсь изменить изображение кнопки сердца на красный, но ничего не происходит. Есть ли проблема с передачей UIImage на кнопку через отправителя. У меня нет ошибок. И инструкция if like =
работает правильно. Вот мой код:Устранение неполадок UIButton image
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! PostsCellTableViewCell
cell.heartButton.tag = indexPath.row
cell.heartButton.addTarget(self, action: "liked:", forControlEvents: .TouchUpInside)
return cell
}
@IBAction func liked (sender: UIButton){
if like == false{
sender.imageView?.image = UIImage(contentsOfFile: "red-heart.png")
like = true
}
else{
sender.imageView?.image = UIImage(contentsOfFile: "white-heart-hi.png")
like = false
}
// self.tableView.reloadData()
}
Селектор, соответствующий функции 'понравившейся (_ :)' функции Kegham '' нравится: 'с двоеточием. –
См. [Взаимодействие с API-интерфейсом Objective-C] (https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/InteractingWithObjective-CAPIs.html#//apple_ref/doc/uid/TP40014216-CH4 -ID35) для получения дополнительной информации. –
var like = false объявляется глобально. Мне грустно, что у меня нет ошибок. Я не могу удалить столбец. Я получу ошибку. –