#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