当 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)
}
我不知道为什么,但它有效。哈哈
我正在使用 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)
}
我不知道为什么,但它有效。哈哈