iphone – 如何在没有导航控制器的情况下使用多个iOS自定义视图控制器

iphone – 如何在没有导航控制器的情况下使用多个iOS自定义视图控制器,第1张

概述我正在构建一个使用多种类型屏幕的应用程序 – 所有这些都保证了自己的自定义视图控制器.我通过在我的app委托中重新分配主窗口的rootViewController方法,成功地在视图控制器及其相关视图之间切换,如下所示: - (void)changeRootViewController:(NSString *)controllerName{ if (controllerName == @" 我正在构建一个使用多种类型屏幕的应用程序 – 所有这些都保证了自己的自定义视图控制器.我通过在我的app委托中重新分配主窗口的rootVIEwController方法,成功地在视图控制器及其相关视图之间切换,如下所示:

- (voID)changeRootVIEwController:(Nsstring *)controllername{    if (controllername == @"book") {        rootVIEwController = (UIVIEwController *)[[BookVIEwController alloc] init];        [self.window setRootVIEwController:rootVIEwController];    } else if (controllername == @"something_else") {        // Use a different VC as roowVIEwController    }}

然而,我这样做的方式似乎不是最好的做法.我也不想使用UINavigationController或UITabbarController作为rootVIEwController.这是否是这样做的错误方式,如果是这样,我应该如何以不同的方式接近它?

我以为这会被覆盖在某个地方,但是(我觉得好像)我用Google搜索了它,找了相关的问题等等.抱歉,如果我错过了什么!

解决方法 这不是一个坏的解决方案.您基本上将一个视图设置为根视图.当你需要另一个UIVIEwController时,你设置另一个.小心泄漏……

>使用retain创建rootVIEwController作为类的属性.
>在此之前:

rootVIEwController = (UIVIEwController *)[[BookVIEwController alloc]
init];

添加这个:

if(rootVIEwController){    self.rootVIEwController=nil;}

}

所以你发布了前一个.

编辑1:有一件事:我在这里的解释是基于你不想使用UINavigationController的事实.

总结

以上是内存溢出为你收集整理的iphone – 如何在没有导航控制器的情况下使用多个iOS自定义视图控制器全部内容,希望文章能够帮你解决iphone – 如何在没有导航控制器的情况下使用多个iOS自定义视图控制器所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1084652.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存