2017-09-07 14 views
0

私のUIPageViewControllerは実行時に黒い画面として表示されます。UIPageViewControllerは黒い画面を表示します

window = UIWindow() 
    let mainPageViewController = MainPageViewController(transitionStyle: .scroll, navigationOrientation: .horizontal, options: nil) 
    window?.rootViewController = mainPageViewController 

これはMainPageViewControllerのための私のコードは次のとおりです:

それはアプリのdelegageに設定されたルートビューコントローラです

class MainPageViewController: UIPageViewController, UIPageViewControllerDataSource 
{ 
    override func viewDidLoad() 
    { 
     super.viewDidLoad() 

     dataSource = self 

     let profileController = ProfileController() 
     let viewControllers = [profileController] 
     self.setViewControllers(viewControllers, direction: .forward, animated: true, completion: nil) 
    } 

    func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -> UIViewController? 
    { 
     return nil 
    } 

    func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController? 
    { 
     return nil 
    } 
} 

私は最初のページがあるとして設定しようとしているprofilecontroller通常のUIViewController。

私はたくさんのものを試しましたが、それは常に黒い画面を表示します。私が間違ってやっていることに関するアイデアは?

+0

viewDidLoad()関数で 'view.backgroundColor = .white'を実行してbackgroundColorを白に設定しようとしましたか? – evanhaus

+0

はい、表示するはずのビューコントローラの背景色も白です。 – Elhoej

+0

あなたはストーリーボードを使用していますか? – 3stud1ant3

答えて

1

PageViewControllerは完全に問題ありません。しかし、rootViewControllerを設定するプロセスは以下のようになります:

window = UIWindow() 
let mainPageViewController = MainPageViewController(transitionStyle: .scroll, navigationOrientation: .horizontal, options: nil) 
window?.rootViewController = mainPageViewController 
// This line will make it visible 
window?.makeKeyAndVisible() 
0

私はあなたの問題はyou don't know why your screen is black?であれば、私はあなたがappDelegateでこれを設定すべきだと思う、あなたの問題が何であるかわからないことができます:あなたのコントローラに

window.backgroundColor = .white 

と、これを:

self.view.backgroundColor = .white 
+0

UIPageViewControllerは、多くのサブビューなどを持つprofilecontrollerを表示することになっています。 – Elhoej

1

試してみます -

self.window = UIWindow(frame: UIScreen.main.bounds) 
    let mainPageViewController = MainPageViewController(transitionStyle: .scroll, navigationOrientation: .horizontal, options: nil) 
    window?.rootViewController = mainPageViewController 
    self.window?.makeKeyAndVisible() 
関連する問題