嵌入到UIViewController

时间:2019-07-07 22:45:23

标签: ios swift uipagecontrol

我正在上入职页面。 我的入职培训包含一个UIViewController,其中包含UIView。此UIPageController嵌入此UIView中。查看屏幕截图

enter image description here

可以从两个不同的地方访问此入职; 1-在首次出现的启动屏幕中2-从应用程序的设置

这就是为什么,我在两个页面中都定义了两个Boolean(第一个UIViewController及其UIPageController是为了了解此入门页面是从何处打开的。

在两个页面中都定义了这两个布尔值:

var fromSetting = false
var fromLaunch = false 

例如,从设置开始,我这样称呼这些入职页面:

let welcomeStoryboard = UIStoryboard(name: "Welcome", bundle: nil)
let welcomeController = welcomeStoryboard.instantiateViewController(withIdentifier: "welcomePage") as! WelcomePage
welcomeController.fromSetting = true
self.present(welcomeController,animated:true,completion:nil)

对于主UIViewController来说,它工作得非常好,在准备工作中,我说过当此布尔值为true时,请告诉UIPageControllerUIPageController中使此布尔值为true

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "welcome" {
    if let welcomePage = segue.destination as? WelcomePageViewController {

        if fromSetting {
            welcomePage.fromSetting = true
        } else if fromLaunch {
            welcomePage.fromLaunch = true
        }
    }
  }
}

问题在于,UIPageController与主UIViewController同时打开,这就是为什么我在准备语句中写的内容都不计算在内的原因。您能否告诉我一个很好的理由,为什么要告诉这两个页面它来自哪里?

0 个答案:

没有答案