     public override func viewWillAppear(animated: Bool) {
         super.viewWillAppear(animated)
         self.updateLayouts()
+        if let currentController = self.currentController {
+            currentController.viewWillAppear(animated)
+        }
+    }
+    
+    public override func viewDidAppear(animated: Bool) {
+        super.viewDidAppear(animated)
+        if let currentController = self.currentController {
+            currentController.viewDidAppear(animated)
+        }
+    }
+    
+    public override func viewDidDisappear(animated: Bool) {
+        super.viewDidDisappear(animated)
+        if let currentController = self.currentController {
+            currentController.viewDidDisappear(animated)
+        }
+    }
+    
+    public override func viewWillDisappear(animated: Bool) {
+        super.viewWillDisappear(animated)
+        if let currentController = self.currentController {
+            currentController.viewWillDisappear(animated)
+        }
     }
     
     func addEmbedController(controller: UIViewController){

            let identifier = "embed-\(i)"
            self.performSegueWithIdentifier(identifier, sender: self)
        }
        currentPage = 0
    }
    
    private func updateLayouts(){

        
        addChildViewController(controller)
        controller.didMoveToParentViewController(self)
        
        embedControllers.append(controller)
        scrollView.addSubview(controller.view)
        
