Swift popupView无法正常工作(存在2个didMoveToParentViewController视图)

时间:2016-08-23 12:02:47

标签: ios swift

我有一个使用此tutorial创建的3个滑动ViewController 因此,HomeViewController是这3个视图的控制器。

代码是

Class HomeViewController //......
func prepareScrollView(){

let V1 : FirstViewController = FirstViewController(nibName: "FirstViewController", bundle: nil)

let V2 : SecondViewController = SecondViewController(nibName: "SecondViewController",bundle: nil)

let V3 : ThirdViewController = ThirdViewController(nibName: "ThirdViewController",bundle: nil)

self.addChildViewController(V1)
self.scrollView.addSubview(V1.view)
V1.didMoveToParentViewController(self)

self.addChildViewController(V2)
self.scrollView.addSubview(V2.view)
V2.didMoveToParentViewController(self)

self.addChildViewController(V3)
self.scrollView.addSubview(V3.view)
V3.didMoveToParentViewController(self)

var V2Frame : CGRect = V1.view.frame
V2Frame.origin.x = self.view.frame.width
V2.view.frame = V2Frame


var V3Frame : CGRect = V3.view.frame
V3Frame.origin.x = 2 * self.view.frame.width
V3.view.frame = V3Frame

self.scrollView.contentSize = CGSizeMake(self.view.frame.width * 3, self.view.frame.size.height)
self.scrollView.contentOffset = CGPoint(x: self.view.frame.width,y : self.view.frame.height)

 }

在SecondViewController中,我创建了一个按钮来显示弹出视图,但它不起作用。 我认为原因是存在2 didMoveToParentViewController

SecondVC:

PopButton.addTarget(self, action: #selector(settingUpView), forControlEvents: .TouchUpInside)

func settingUpView(){

print("touched")

let popOverVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("PopUpView") as! PoPViewController
self.addChildViewController(popOverVC)
popOverVC.view.frame = self.view.frame
self.view.addSubview(popOverVC.view)
popOverVC.didMoveToParentViewController(self)  
}

当我点击按钮时,它只显示print但没有弹出任何内容,请问如何解决问题?

1 个答案:

答案 0 :(得分:-1)

popOverVC.view.frame = self.view.frame

上面的代码不对。 self.view.frame.origin不是CGPointZero。