2017-02-01 2 views
1

J'ai un petit problème avec un UIContainerView. Chaque élément de mon containerView sont sous mon ViewController généré par mon UIPageControllerUIContainerView élément sous la vue où il est contenu

Cette image sera plus explicite:

enter image description here

Voici donc, mon bouton bleu sera sous la UIImageView (viewController au bot) et j'en ai besoin par-dessus. Je ne comprends pas pourquoi, si quelqu'un a une idée.

Résultat:

enter image description here

Comment je crée mon PageVieWController:

fileprivate func createPageViewController() { 
    let pageController = self.storyboard!.instantiateViewController(withIdentifier: "PageController") as! UIPageViewController 
    pageController.dataSource = self 

    if contentImages.count > 0 { 
     let firstController = getItemController(0)! 
     let startingViewControllers = [firstController] 
     pageController.setViewControllers(startingViewControllers, direction: UIPageViewControllerNavigationDirection.forward, animated: false, completion: nil) 
    } 

    pageViewController = pageController 
    addChildViewController(pageViewController!) 
    self.view.addSubview(pageViewController!.view) 
    pageViewController!.didMove(toParentViewController: self) 
} 

Et comment j'instancier mon PageItem:

fileprivate func getItemController(_ itemIndex: Int) -> ABTutorialPageItemViewController? { 
    if itemIndex < contentImages.count { 
     let pageItemController = self.storyboard!.instantiateViewController(withIdentifier: "ItemController") as! ABTutorialPageItemViewController 
     pageItemController.itemIndex = itemIndex 
     pageItemController.imageName = contentImages[itemIndex] 
     return pageItemController 
    } 
    return nil 
} 

Si vous voulez manipuler, afficher directement dans l'action, vous pouvez utiliser ce projet: https://github.com/YanisSOTO/Simple-UIPageViewController-Example

Répondre

0

Résolu en remplaçant:

self.view.addSubview(pageViewController!.view) 

à:

self.containerView.addSubview(pageViewController!.view)