繁体   English   中英

iOS Swift:如何在UIViewController中隐藏和显示按钮

[英]iOS Swift: How to hide and reveal a button in UIViewController

我可以运行显示主题列表的UICollectionView工厂。

在标题中,我有3个按钮“ filter ”,“ clear ”和“ back

这些按钮都是在storyboard IBOutlets创建的,没有链接IBOutlets (请参阅下文)。 filter ”和“ back ”按钮链接到Segue / Dismiss Segue,“ clear ”按钮链接为IBAction

filter ”按钮调出另一个viewcontroller (表tableview ),用户可以在其中选择各种“ filters ”,并且当返回到collectionview tableview时,主题已被“ filtered ”。 作品可爱。

clear ”按钮清除已应用于视图集合的所有过滤器。 按下此viewcontroller后,将删除所有滤镜,并重新加载viewcontroller 再次可爱。

但是,除非应用了过滤器,否则我希望隐藏“ clear ”按钮。 此刻,从一开始就显示“ filter ”和“ clear ”按钮。 我很高兴滤镜按钮始终存在,因为我希望用户能够始终应用/调整滤镜。 但是我只希望在应用了过滤器后显示“ clear ”按钮。 因此,我不希望“ clear button在启动或”后“ clear ”按钮被按下......直到使用了一个过滤器。

我通常只将IBOutlet链接到按钮,如果想在不同点hide/unhide它,则设置其isHidden属性。 但是由于出现错误,我似乎无法执行此操作:

invalid repeating content' when I link a IBOutlet to the 'clear' button in the headerinvalid repeating content' when I link a IBOutlet to the 'clear' button in the header

我尝试创建一个子类UICollectionViewCell并从那里创建IBOutlet 效果很好,我可以链接到按钮(我尝试对3个clear button或“ clear button ”进行内衬组合。但是随后不再触发“ filter ”和“ back ”按钮的顺序。

结束语我正在寻找一种隐藏/取消隐藏“清除”按钮的方法,同时保持segue / dismiss触发器仍然起作用。

我希望朝着正确的方向戳一下。

注意 :我没有包含任何代码,因为UICollectionView没什么特别的

您可以通过viewWithTag()访问UIButtonviewWithTag()更改它的.isHidden属性。 记住在情节提要中设置标签。

view.viewWithTag(insertYourTagHere).isHidden = false

以我的诚实观点,添加IBOutltes会更好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM