【发布时间】:2018-08-12 18:16:28
【问题描述】:
我有一个显示主题列表的工厂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”按钮后出现“clear button”……直到使用下一个过滤器。
我通常只是将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 没有什么特别之处
【问题讨论】:
标签: ios swift xcode uicollectionview