从容器视图加载不同的容器视图

时间:2015-09-15 10:36:42

标签: ios swift uiviewcontroller uicontainerview

我有3个(cv1,cv2,cv3)容器视图放在mainViewContoller上的相同位置。

所有3个具有不同的viewController类(.swift

按钮放在cv2(secondViewController)上,在该按钮上单击我想将containerView从cv2更改为cv3。

为了更清楚,如何从secondViewController(cv2)调用mainViewController方法?

secondViewController.swift

@IBAction func nextButtonClick(sender: UIButton) {

   // Want to call action of firstViewController which is changeContainerView()

}

firstViewController.swift

funct changeContainerView(){
   loginContainerView.hidden = true
   signUpContainerView.hidden = false
}

就像那样。

2 个答案:

答案 0 :(得分:0)

您应该使用delegate模式。它在Cocoa框架中非常常见。如果您不知道它是如何运作的,请参见the documentation

答案 1 :(得分:0)

试试这个

 dispatch_sync(dispatch_get_main_queue(), { () -> Void in

                                let storyboard = UIStoryboard(name: "Main", bundle: nil)
                                let svc = storyboard.instantiateViewControllerWithIdentifier("SecondViewController") as! SecondViewController

                                self.presentViewController(svc, animated: true, completion: nil)

                            })

如果需要,只需更改主板名称和2个地方的目标VC名称