使UIImageView可以从所有viewControllers访问

时间:2017-08-31 23:48:23

标签: ios swift uiviewcontroller uiimageview

我的问题是,我怎样才能这样做A = A.reverse(); redDot可以从第二个viewController访问,这样它们就可以隐藏或不隐藏。它们没有直接连接,但您可以使用不同的viewControllers来连接它们。

第一个viewController

wCircle

第二个viewController

class SecondViewController: UIViewController
{
    @IBOutlet weak var redDot: UIImageView!

    @IBOutlet weak var wCircle: UIImageView!
}

enter image description here

2 个答案:

答案 0 :(得分:0)

我不确定这是否是正确的方法,但我要做的是在我的第二个VC中引用UIImageView,然后将其设置为我的第一个VC的imageView。

所以在你的“ProgressViewController”中添加这两个

var redDot: UIImageView?
var wCircle: UIImageView?

然后在准备segue时传递当前的UIImageView。

let progressViewController = segue.destination as! ProgressViewController
progressViewController.redDot = self.redDot
progressViewController.redDot.wCircle = self.wCircle

答案 1 :(得分:0)

你可以通过向第二个和第三个视图控制器添加一个新成员来实现这个目的,这个成员是一个闭包:

var updateFirstViewControllerImageViews: (() -> Void)?

然后覆盖为firstViewController的segue方法做准备,并为每个第二和第三个视图控制器设置updateFirstViewControllerImageViews,如下所示:

secondViewController.updateFirstViewControllerImageViews = { 
    // Update your image views here in the way you want!
}

现在,在您的第二个和第三个视图控制器中,您可以在任何地方使用该闭包:

self.updateFirstViewControllerImageViews?()