如何从另一个/第二个 UIViewController 隐藏 UILabel?
Posted
技术标签:
【中文标题】如何从另一个/第二个 UIViewController 隐藏 UILabel?【英文标题】:How to hide a UILabel from another/second UIViewController? 【发布时间】:2020-12-11 18:33:09 【问题描述】:How to hide a UILabel from another UIViewController using Notifications and Observer
您好,我正在寻找与上述链接类似的解决方案,但有没有办法反过来呢?我想在 secondVC 上有按钮,并从 firstVC 更改/隐藏 UILabel?有什么方法可以实现吗?
【问题讨论】:
我认为在这种情况下委托模式会更有意义。只需创建一个委托协议,让第一个 viewController 成为第二个的委托。然后你可以在点击按钮时通知它。 【参考方案1】:另一种解决方案是使用closures
。
为此,您可以在第二个 viewController 中定义 closure
并从第一个 viewController 中调用它。
示例如下:
在第二个视图控制器中定义:
var hideLabel: (() -> Void)?
然后在你的按钮动作中调用它:
hideLabel?()
在第一个视图控制器中你可以这样使用它:
secondVC.hideLabel = [weak self] in
// do what you need, hide your label
【讨论】:
以上是关于如何从另一个/第二个 UIViewController 隐藏 UILabel?的主要内容,如果未能解决你的问题,请参考以下文章
如何从另一个选项卡上的场景切换或弹出选项卡式应用程序中第一个选项卡的第二个场景?