我想在HeaderView中添加一个按钮,但是触摸无法识别。我想念什么?
class GSTableHeaderView: UITableViewHeaderFooterView, ReusableView {
var delegate: tableHeaderViewDelegate?
let showAllOrHideButton = GSShowAllOrHideButton()
override init(reuseIdentifier: String?) {
super.init(reuseIdentifier: reuseIdentifier)
self.isUserInteractionEnabled = true
setupSubviews()
setupConstraints()
}
func setupSubviews() {
contentView.addSubview(showAllOrHideButton)
contentView.isUserInteractionEnabled = true
showAllOrHideButton.addTarget(self, action: #selector(handleShowAll), for: .touchUpInside)
}
func setupConstraints() {
showAllOrHideButton.anchor(top: nil, leading: nil, bottom: contentView.bottomAnchor, trailing: contentView.trailingAnchor, paddingTop: 0, paddingLeading: 0, paddingBottom: 0, paddingTrailing: 16, width: 0, height: 0)
}
@objc func handleShowAll() {
showAllOrHideButton.isSelected.toggle()
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
是我的点击被吃掉了吗还是UITableViewHeaderFooterView
中的按钮根本不被支持?
答案 0 :(得分:0)
如果contentview顶部没有其他视图,您的代码应该可以工作。请检查Xcode中的视图层次结构,按钮的位置在哪里。试试这个:
更改您的:
contentView.addSubview(showAllOrHideButton)
至:
self.addSubview(showAllOrHideButton)