Это кажется мне основным вопросом, но я ищу дни и не смог найти ответ.Swift 3 - реализация UIPageViewController возвращает пустой (пустой) вид
У меня есть пустой контроллер View, в котором я пытаюсь показать UIPageViewController, заполненный контентом из другого VC. Я пробовал много способов сделать это, но не добился успеха. Я следую этому руководству: https://www.veasoftware.com/posts/uipageviewcontroller-in-swift-xcode-62-ios-82-tutorial, и я старался делать все почти так же, как он объясняет. Может ли кто-нибудь указать на то, что может быть неправильно?
К слову, у моих классов правильно установлен набор расписаний, и каждый 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
}