我希望创建一个下拉菜单,该菜单只显示在“季节性”空白时空白空白的位置。选项卡被选中并在“最新”选项卡时保持隐藏状态。选项卡已选中。
我如何实现这一目标?
viewController图片:
我必须使用UISearchDelegeate
吗?
编辑:如何使collectionsView的headerView响应顶部的分段控制按钮:" Latest and Seasonal"?例如。什么时候"最新"如果选中,标题视图将调整为宽度:0,高度:0和"季节性"如果选中,标题将调整为宽度:320和高度:50?
这是一个例子,但到目前为止我的代码是错误的。我不确定如何返回CGSize。
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, referenceSizeForHeaderInSection section: Int) -> CGSize {
if segmentedControlValue.selectedSegmentIndex == 1 {
let size = CGSize (width: 0, height: 50)
}
if segmentedControlValue.selectedSegmentIndex == 0 {
let size = CGSize (width: 0, height: 0)
}
}
@IBAction func selectionButtons(_ sender: UISegmentedControl) {
collectionView?.reloadData()
}
这里是我刚添加的新代码:
override func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -> UICollectionReusableView {
let selectionCell = collectionView.dequeueReusableSupplementaryView(ofKind: kind, withReuseIdentifier: "selectionCell", for: indexPath)
if toggleState.currentTitle == "View" {
selectionCell.frame = CGRect(x: 0, y: 0, width: 0, height: 100)
}
if toggleState.currentTitle == "NoView" {
selectionCell.frame = CGRect(x: 0, y: 0, width: 0, height: 0)
}
return selectionCell
答案 0 :(得分:1)
您可以使用collectionView
viewForSupplementaryElementOfKind
方法处理带有UICollectionElementKindSectionHeader
标题的页眉和带有UICollectionElementKindSectionFooter
种类视图的页脚。
func collectionView(collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, atIndexPath indexPath: NSIndexPath) -> UICollectionReusableView {
let view = collectionView.dequeueReusableSupplementaryViewOfKind(UICollectionElementKindSectionHeader, withReuseIdentifier: "myHeaderView", forIndexPath: indexPath)
// configure header view
if segmentedControlValue.selectedSegmentIndex == 1 {
view.frame = // set frame
}
if segmentedControlValue.selectedSegmentIndex == 0 {
view.frame = // set frame
}
return view
}
因此,当您调用reloadData()
方法时,这将作为执行的一部分,您可以对内部的view
采取适当的操作。