UIButton не работает, когда SearchController активен?

#ios #swift #uisearchbar #uicollectionviewcompositionallayout

#iOS #swift #панель пользовательского поиска #uicollectionviewcompositionallayout

Вопрос:

Я использую a UICollectionViewCompositionalLayout с контроллером поиска:

вот так

Проблема:

Я не могу нажать на кнопку пользовательского интерфейса, присутствующую в заголовке раздела, когда поисковый контроллер активен. Но распознаватель жестов раздела просто отлично работает.

Оба они работают, когда я ничего не ищу, и если нажать «enter» на клавиатуре во время поиска, кнопка начнет работать.

Что я делаю не так?

Ответ №1:

Я только что нашел решение. Для тех, у кого возникли проблемы: я добавлял цель таким образом

 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)
}
  

Я не знаю почему, но это работает. lol