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

时间:2020-10-26 14:54:18

标签: ios swift uisearchbar uicollectionviewcompositionallayout

我正在将UICollectionViewCompositionalLayout与搜索控制器配合使用:

just like this

问题:

当搜索控制器处于活动状态时,我无法点击“节”标题中出现的UI按钮。但是该部分的GestureRecognizer可以正常工作。

当我不搜索任何内容时,它们都可以使用,并且如果在搜索时在键盘上轻按“输入”,则该按钮开始起作用。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

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

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并将其添加到类的Init即可解决问题。

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

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

我不知道为什么,但是可以。大声笑