点击时,我试图将按钮推到新的View Controller。我尝试了许多不同的方法,但是它不会触发与之链接的功能。我还检查了图层的3D堆栈视图,并且该按钮位于顶部并且可以单击,即使我检查背景色时也没有被其他任何东西覆盖。
有人对我在做什么错有任何想法吗?
现在,我试图使按钮在控制台中打印出来,但是每当我按下该按钮时,字符串都不会弹出,因此我还没有麻烦将其连接到视图控制器。 / p>
此外,我正在编写没有情节提要的应用程序。
这是我的下面的代码。
它在声明为UICollectionViewCell的MainPageCell类下
private let playButton: UIButton = {
let button = UIButton()
button.setTitle("", for: .normal)
button.backgroundColor = .clear
button.translatesAutoresizingMaskIntoConstraints = false
button.addTarget(self, action: #selector(MainPageCell.buttonTapped), for: .touchUpInside)
return button
}()
@objc func buttonTapped() {
print("I PRESSED THE BUTTON")
}
答案 0 :(得分:1)
此行是错误的:
button.addTarget(self, action: #selector(MainPageCell.buttonTapped), for: .touchUpInside)
您不能在属性声明初始化程序中将self
分配为操作目标,因为self
指定的实例尚不存在。没有错误或警告(我将其视为错误),但是从未调用该操作方法。
将该作业移至其他位置并重写,如下所示:
self.playButton.addTarget(self, action: #selector(MainPageCell.buttonTapped), for: .touchUpInside)
答案 1 :(得分:0)
也许可以尝试在UIView类下定义按钮动作,我以前遇到过类似的问题,只有在将其链接到View类后,运气好