Кнопка TableviewCell не работает при использовании подкласса - PullRequest
0 голосов
/ 02 июня 2018

У меня есть класс UITableViewCell с именем PodcastTableViewCell, в котором есть кнопка (подключенная через перо / раскадровку) под названием playButton.Эта кнопка воспроизведения также подключена к IBAction (в этом суперклассе), который печатает на консоль и меняет свое состояние кнопки при касании -

if(!isDownloaded)
{
    playButton.setImage(downloadImg , for: UIControlState.normal)
} else {
    if(isPlaying)
    {
        playButton.setImage(pauseImg, for: UIControlState.normal)
    } else {
        playButton.setImage(playImg, for: UIControlState.normal)
    }
}

У меня есть эти в таблице.Когда я выбираю ячейку, я расширяюсь до подробного контроллера с подклассом PodcastTableViewCell, например:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "episodeDetail",
        let detailController = segue.destination as? EpisodeDetailController,
        let sender = sender as? PodcastTableViewCell {
        detailController.episode = sender.episode

Проблема даже с этим, так как весь мой подкласс (даже пытался переопределить IBAction), кнопкато, что является ИНТЕРАКТИВНЫМ / изменяет состояние в форме таблицы, при развертывании ничего не вызывает:

class PodcastDetailPlayerCell: PodcastTableViewCell {
    override func awakeFromNib() {
        super.awakeFromNib()
        episodeName.text = ""
    }

    @IBAction override func playOrDownloadEpidode() {
        print("Happened~!")
    }

    override func layoutSubviews ()
    {
        print("DOING THIS: episode name \(self.episode?.title)")

        self.playButton.isUserInteractionEnabled = true
        self.bringSubview(toFront: playButton)
        self.updateCell()
        super.layoutSubviews()
    }
}

Что не так с этой кнопкой?Я что-то упустил?

...