当 searchController 处于活动状态时,UIButton 不起作用?

UIButton doesn't work when the searchController is active?

我正在使用 UICollectionViewCompositionalLayout 和搜索控制器:

just like this

问题:

当搜索控制器处于活动状态时,我无法点击部分 header 中的 UI 按钮。但是该部分的 GestureRecognizer 工作正常。

当我不搜索任何东西时,它们都可以工作,如果在搜索时点击键盘上的“输入”,按钮就会开始工作。

我做错了什么?

我刚刚找到了解决方案。对于那些有问题的人: 我是这样添加目标的

let button: UIButton = {
        let button = UIButton(type: .custom)
        button.setTitle("See all", for: .normal)
        button.setImage(UIImage(systemName: "chevron.right", withConfiguration: buttonConfig), for: .normal)
        
        button.addTarget(self, action: #selector(myFunc), for: .touchUpInside)
        
        return button
    }()

删除 addTarget,并将其添加到 class 的 Init 中可以解决问题。

override init(frame: CGRect) {
    super.init(frame: frame)

    addSubview(button.addTarget)
    button.addTarget(self, action: #selector(myFunc), for: .touchUpInside)
}

我不知道为什么,但它有效。哈哈