![](/img/trans.png)
[英]How to pass data to another ViewController without using a button in swift
[英]Hiding an imageView using a button in another ViewController Swift XCode
我需要在 Swift 中使用 ViewControllerOne 中的按钮隐藏 ViewControllerTwo 中的 ImageView。
我如何在另一个 ViewController 中使用“imageView.hidden = true”?
请问有什么帮助吗? 谢谢
在你的按钮函数中试试这个(在 viewController1 中):
@IBAction func yourButtonFunction(_ sender: AnyObject){
let defaults = UserDefaults.standard
defaults.set(true, forKey: "isImageHidden")
}
在 viewController2 中,添加以下内容:
override func viewDidAppear(){
super.viewDidAppear(true)
if UserDefaults.standard.value(forKey: "isImageHidden") != nil{
let condition = UserDefaults.standard.value(forKey: "isImageHidden") as! Bool
if condition{
//should be hidden
self.imageView.isHidden = true
UserDefaults.standard.set(false, forKey: "isImageHidden")
}
}
}
让我知道这是否有帮助!
您不应该尝试从另一个视图控制器更改一个视图控制器的视图。 那是糟糕的设计。 相反,您应该使要隐藏其图像的视图控制器具有委托属性。 创建一个委托协议来定义其他视图控制器调用的消息。 这是一种非常常见的设计模式,您应该学习。
网上有很多教程展示了委托设计模式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.