У меня есть класс 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()
}
}
Что не так с этой кнопкой?Я что-то упустил?