3

I'm implementing an iMessage extension app. I am trying to implement two pages and scroll back and forth so I thought I'd use a PageViewController.

The main code I used:

private(set) lazy var orderedViewControllers: [UIViewController] = {
    return [self.newMessageViewController(pageNum: "Page1"),
            self.newMessageViewController(pageNum: "Page2")]
}()

private func newMessageViewController(pageNum: String) -> UIViewController {
    return UIStoryboard(name: "MainInterface", bundle: nil) .
        instantiateViewController(withIdentifier: "\(pageNum)")
}


override func viewDidLoad() {
    super.viewDidLoad()

    // Do any additional setup after loading the view.

    dataSource = self

    if let firstViewController = orderedViewControllers.first {
        setViewControllers([firstViewController],
                           direction: .forward,
                           animated: true,
                           completion: nil)

    }
}

The problem is when I launch this app, it pops up by default as an iMessage app which is the "short" screen and the first viewcontroller is not displayed. It's not even responsive.

If I tap on another iMessage app and then go back to it, then the first viewcontroller is now showing and the app works.

Would anyone know how to get the first viewcontroller to "kick in" when I first launch the app?

Bevan
  • 179
  • 1
  • 12

0 Answers0