我正在开发一个页面,允许用户搜索表格中的内容,我想在搜索栏下添加一些过滤选项。我已以编程方式将 UISearchController 添加到导航栏中,但我想知道如何在搜索栏下添加可水平滚动的筛选器选项列表(就像这张图片右侧的布局: /image/XrjIq.png )。谢谢!
我意识到这可能是以前被问过/回答过的问题,但我找不到讨论这个问题的页面。如果您有解决方案的链接,我将非常感激!
最佳答案
您可以创建一个水平滚动的collectionView,其中包含过滤器按钮,并将其设置在UISearchController下方。
您可以通过编程方式创建这样的 Collection View :
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 和其他委托(delegate)将项目添加到此 collectionView。
然后您需要在 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
如果您需要进一步解释,请告诉我。
关于ios - 在 UISearchController 下添加水平滚动过滤器选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50768140/