2016-10-11 8 views
0

これは私にとっては基本的な質問のようですが、検索の日数が足りず、回答を見つけることができませんでした。Swift 3 - UIPageViewControllerの実装で空(空白)のビューが返される

私は空のView Controllerを持っていて、別のVCからのコンテンツを取り込んだUIPageViewControllerを表示しようとしています。私はこれをやるために多くの方法を試しましたが、成功していません。私はこのチュートリアルに従っています:https://www.veasoftware.com/posts/uipageviewcontroller-in-swift-xcode-62-ios-82-tutorial、私はすべてほぼ同じことをやってみました。誰かが間違っているかもしれないことを指摘できますか?

ちなみに、私のクラスはStoryboardIDが正しく設定されており、各VCは対応するクラスに接続されています。

は、ここに私の最初のVCのコードです:

override func viewDidLoad() { 
    super.viewDidLoad() 

pageViewController = self.storyboard?.instantiateViewController(withIdentifier: "PageViewController") as? UIPageViewController 

pageViewController!.dataSource = self 

let startVC = self.viewControllerAt(index: 0) 
let viewControllers = NSArray(object: startVC) 

pageViewController!.setViewControllers(viewControllers as! [ContentViewController], direction: .forward, animated: false, completion: nil) 

self.pageViewController!.view.frame = self.view.bounds 
addChildViewController(pageViewController!) 
self.view.addSubview((pageViewController!.view)!) 
pageViewController?.didMove(toParentViewController: self) 

} 

    let cVC: ContentViewController = self.storyboard?.instantiateViewController(withIdentifier: "ContentViewController") as! ContentViewController 
    cVC.title = "Title \(index)" 
    cVC.nAuthor = "Author" 
    cVC.nCategory = "Sports" 
    cVC.nBody = "Lorem ipsum...." 
    cVC.pageIndex = index 
    return cVC 
} 

これは私のコンテンツクラスである:同じ問題を持つ人々に将来の参照の場合

override func viewDidLoad() { 
    super.viewDidLoad() 

    newsTitle.text = nTitle 
    newsAuthor.text = nAuthor 
    newsCategory.text = nCategory 
    newsBody.text = nBody 
} 

答えて

0

。難しい調査の後、私は迅速に(少なくとも3)よりも私はそれを呼び出す前にストーリーボードを宣言する必要がありました!素人間違いかもしれません。

だから前:

let cVC: ContentViewController = self.storyboard?.instantiateViewController(withIdentifier: "ContentViewController") as! ContentViewController 

私は含める必要がありました:

let storyboard = UIStoryboard(name: "Main", bundle: nil) 
関連する問題