更改呈现的第一个 viewController(主界面)
Posted
技术标签:
【中文标题】更改呈现的第一个 viewController(主界面)【英文标题】:Change first viewController presented (main interface) 【发布时间】:2019-10-11 20:21:28 【问题描述】:您好,我已经为我的应用程序制作了一个页面控制器。 如果设备上没有任何“用户”核心数据对象,此页面控制器将出现在应用启动时。
所以我想做的是: 应用启动时,执行核心数据请求,返回数组中的所有“用户”对象。 (这部分还可以) 如果数组为空,则 VC 呈现的是 pageController,否则,它的呈现是正常的。
pageController 和另一个控制器位于不同的故事板上。 我看到我们可以改变app参数中的第一个故事板,那个参数叫做主界面。 实际上主界面是普通的 VC,那么当我的条件为真时,如何在我的 didFinishLaunchingWithOptions() 中以编程方式呈现页面控制器?
【问题讨论】:
【参考方案1】:内部didFinishLaunchingWithOptions
// query coredata
if arr.isEmpty
let viewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "pageID") as! PageController
self.window?.rootViewController = viewController
else
let otherController = UIStoryboard(name: "Other", bundle: nil).instantiateViewController(withIdentifier: "otherID") as! OtherController
self.window?.rootViewController = otherController
【讨论】:
以上是关于更改呈现的第一个 viewController(主界面)的主要内容,如果未能解决你的问题,请参考以下文章
关闭一个 ViewController 并呈现另一个 ViewControlloer - IOS - Swift 3
CALayer 旋转动画不适用于呈现的 ViewController
如何呈现嵌入在 UITabBarController 和 UINavigationBarController 中的 ViewController