【发布时间】:2017-06-12 13:32:18
【问题描述】:
我有 3 个视图控制器和一个容器视图控制器。我将这 3 个视图控制器添加为容器中的子视图控制器。当我启动应用程序时,我在所有执行的视图控制器中都有 viewDidload 和 viewDidAppear 中的打印语句。
问题是:当我“滚动”回这些视图并再次“出现”时,打印语句不会执行,viewDidAppear 和 viewDidLoad 中的任何代码也不会执行。为什么会这样?
这是我实例化视图控制器的代码。感谢您的帮助!
override func viewDidLoad() {
super.viewDidLoad()
scrollView.delegate = self
let storyboard = UIStoryboard(name: "Main", bundle: nil)
page1 = storyboard.instantiateViewController(withIdentifier: StoryboardIdentifiers.feedViewController.rawValue) as! FeedViewController
page1.view.translatesAutoresizingMaskIntoConstraints = false
page1.delegate = self
scrollView.addSubview(page1.view)
addChildViewController(page1)
page1.didMove(toParentViewController: self)
page2 = storyboard.instantiateViewController(withIdentifier: StoryboardIdentifiers.favoritesViewController.rawValue) as! FavoritesViewController
page2.view.translatesAutoresizingMaskIntoConstraints = false
page2.delegate = self
scrollView.addSubview(page2.view)
addChildViewController(page2)
page2.didMove(toParentViewController: self)
page3 = storyboard.instantiateViewController(withIdentifier: StoryboardIdentifiers.settingsViewController.rawValue) as! SettingsViewController
page3.view.translatesAutoresizingMaskIntoConstraints = false
scrollView.addSubview(page3.view)
addChildViewController(page3)
page3.didMove(toParentViewController: self)
}
【问题讨论】:
标签: ios swift uiviewcontroller uiscrollview viewcontroller