ios - iOS Swift:如何在 UIViewController 中隐藏和显示按钮
问题描述
我有一个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
按下“”按钮后出现“”……直到使用下一个过滤器。
我通常只是将 a 链接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
' 按钮的 segues 不再被触发。
我正在寻找一种方法来隐藏/取消隐藏“清除”按钮,同时保持 segue/dismiss 触发器仍然有效。
我将不胜感激朝正确的方向戳。
注意:我没有包含任何代码,因为没有什么特别的UICollectionView
解决方案
您可以访问UIButton
并viewWithTag()
更改它的.isHidden
属性。请记住在情节提要中设置标签。
view.viewWithTag(insertYourTagHere).isHidden = false
老实说,添加 IBOutltes 会更好。
推荐阅读
- java - Java 获取 Arraylist 中某些元素的平均值
- r - UseMethod 常见任务所有 S3 类
- readline - 想检查 IF File.Exists 来定义 StreamReader,然后搜索特定的行
- sql - 通过 ODBC 将 R 连接到雪花
- python - 如何在保持索引结构的同时对多索引中的值进行排序
- javafx - hbox 中的 JavaFX 布局问题
- firebase - Flutter web with Firestore:在每个文档中将一个字段设置为一个值
- tensorflow - 错误:Tensorflow 预处理层未转换为 Tensorflow lite
- mongodb - 为什么我在 mongodb 的数组中得到空对象,尽管它是空的?
- django - Django ORM 正在寻找我从未创建过的列