我有一个UIButton
内一个UITableViewCell
。当我调用addTarget
按钮并尝试放入函数时,自动完成功能会用白线划掉函数(见第一张图片)。Xcode 仍然允许我将函数放入并运行应用程序;但是,当点击按钮时,不会调用该函数。
按钮初始化:
private let infoButton: UIButton = {
let button = UIButton()
button.backgroundColor = .clear
button.adjustsImageWhenHighlighted = false
button.setImage(Images.sizeGuide, for: .normal)
button.addTarget(self, action: #selector(infoButtonPressed(_:)), for: .touchUpInside)
return button
}()
功能(信息按钮按下):
@objc private func infoButtonPressed(_ sender: UIButton) {
print("Button Pressed")
}
因为我多次重复使用这个单元格并且只有一个单元格需要这个按钮,所以我有一个变量来指示是否显示按钮:
var hasInfoButton: Bool = false {
didSet {
if hasInfoButton {
setupInfoButton()
}
}
}
上面调用的函数只是使用 设置按钮autoLayout
。需要提一下:当我尝试调用addTarget
这个函数时,应用程序崩溃了Unrecognized selector sent to instance...
嵌入的tableView
只是静态的并显示数据。因此,allowSelection
和allowsMultipleSelection
都设置为false
。
有人对此有解决方案吗?