我正在运行UICollectionView
,它显示了主题列表。
在标题中,我有3个按钮'filter
','clear
'和'back
'
这些按钮都是在storyboard
中创建的,没有链接IBOutlets
(请参阅下文)。 “ filter
”和“ back
”按钮链接到Segue / Dismiss Segue,“ clear
”按钮链接为IBAction
。
“ filter
”按钮调出另一个viewcontroller
(tableview
),用户可以在其中选择各种“ filters
”,当返回到collectionview
时,主题为“ {filtered
”。很可爱。
“ clear
”按钮将清除已应用于视图集合的所有过滤器。按下此按钮后,将删除所有过滤器,并重新加载viewcontroller
。再次可爱。
但是,除非应用了过滤器,否则我希望隐藏“ clear
”按钮。目前,“ filter
和“ clear
”按钮均从一开始就显示。我很高兴滤镜按钮始终存在,因为我希望用户能够始终应用/调整滤镜。但是,我只希望在应用了过滤器的情况下显示“ clear
”按钮。因此,我不希望在启动时或在按下“ clear button
”按钮之后使用“ clear
” ...直到使用下一个过滤器。
通常,我只想将IBOutlet
链接到按钮,然后在各个点isHidden
设置其hide/unhide
属性。但是由于出现错误,我似乎无法执行此操作:
“ invalid repeating content' when I link a IBOutlet to the 'clear' button in the header
。
我尝试创建一个子类UICollectionViewCell
并从那里创建IBOutlet
。效果很好,我可以链接到按钮(我尝试对全部3个或仅对'clear button
'进行衬里组合。但是随后分别对'filter
和'back
'进行了排序按钮不再触发。
我正在寻找一种隐藏/取消隐藏“清除”按钮的方法,同时保持segue / dismiss触发器仍然起作用。
我希望朝正确的方向戳一下。
注意事项:由于UICollectionView
答案 0 :(得分:1)
您可以通过UIButton
访问viewWithTag()
,然后更改其.isHidden
属性。记得在情节提要中设置标签。
view.viewWithTag(insertYourTagHere).isHidden = false
老实说,添加IBOutltes会更好。