我有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
}
就像那样。
答案 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名称