Добавьте параметры фильтра с горизонтальной прокруткой под UISearchController - PullRequest
0 голосов
/ 08 июня 2018

Я разрабатываю страницу, которая позволяет пользователю искать содержимое в таблице, и я хочу добавить некоторые параметры фильтра под панель поиска.Я программно добавил UISearchController в панель навигации, но я хочу знать, как добавить список параметров фильтра с горизонтальной прокруткой под панелью поиска (как и макет справа на этом рисунке: https://i.stack.imgur.com/XrjIq.png). Спасибо!

Я понимаю, что это, вероятно, что-то, о чем спрашивали / отвечали раньше, но я не могу найти ни одной страницы, обсуждающей это. Если у вас есть ссылка на решение, я был бы очень признателен!

1 Ответ

0 голосов
/ 09 июня 2018

Вы можете создать горизонтально прокручиваемый collectionView с кнопками фильтров в них и установить его под UISearchController.

Вы можете программно создать представление коллекции следующим образом:

 lazy var collectionView: UICollectionView = {
        let layout = UICollectionViewFlowLayout()
        layout.sectionInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)
        layout.minimumInteritemSpacing = 0
        layout.scrollDirection = UICollectionViewScrollDirection.horizontal
        let cv = UICollectionView(frame: .zero, collectionViewLayout: layout)
        cv.backgroundColor =  UIColor.white
        cv.dataSource = self
        cv.delegate = self
        cv.translatesAutoresizingMaskIntoConstraints = false
        return cv
    }()

Теперь вы можете добавлять элементы в эту коллекцию, используя cellForItemAtIndexPath, numberOfItemsInSection и другие делегаты.

Вам потребуетсячтобы затем установить ограничения для collectionView следующим образом:

 collectionView.leftAnchor.constraint(equalTo: self.view.leftAnchor).isActive = true
collectionView.rightAnchor.constraint(equalTo: self.view.rightAnchor).isActive = true
collectionView.topAnchor.constraint(equalTo: searchController.bottomAnchor).isActive = true
collectionView.heightAnchor.constraint(equalToConstant: 44).isActive = true

Дайте мне знать, если вам нужно дополнительное объяснение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...