Iphone 参考点:是否替换根视图控制器/应用程序代理?
很明显,我是iOS开发新手,我在网上找到的许多教程中遇到了一些问题。虽然我理解这些程序中的大部分代码,但我不知道如何翻译这一事实,这可能很简单 许多教程使用基于导航的模板或基于视图的模板,但我想尝试构建选项卡栏应用程序。教程使用App Delegate或rootViewController(作为导航控制器),但由于我的选项卡栏是我的rootViewController,所以我总是遇到问题。我也无法在大多数代码中使用ApplicationIDFinishLaunching方法,因为从技术上讲,它只适用于启动时的第一个选项卡 以下是我的问题:Iphone 参考点:是否替换根视图控制器/应用程序代理?,iphone,objective-c,xcode,Iphone,Objective C,Xcode,很明显,我是iOS开发新手,我在网上找到的许多教程中遇到了一些问题。虽然我理解这些程序中的大部分代码,但我不知道如何翻译这一事实,这可能很简单 许多教程使用基于导航的模板或基于视图的模板,但我想尝试构建选项卡栏应用程序。教程使用App Delegate或rootViewController(作为导航控制器),但由于我的选项卡栏是我的rootViewController,所以我总是遇到问题。我也无法在大多数代码中使用ApplicationIDFinishLaunching方法,因为从技术上讲,它只
非常感谢 在我的脑海里,我只能回答第三个问题,你可以用我知道的两种方法中的一种来回答,如果有人认为这两种方法中的任何一种是错误的或不好的做法,我希望有人纠正我,因为这就是我一直在做的事情
[appDelegate.window addSubview:appDelegate.newRootViewController.view];
appDelegate.window.rootViewController = appDelegate.newRootViewController;
或
两者都应该完成同样的任务,不过如果你能帮助的话,第二个版本是理想的。同样值得注意的是,对于第一个,没有任何欺骗,实际上您正在将应用程序的rootViewController设置为不同的设置
我会做一些挖掘,看看我是否也能回答你的任何其他问题
编辑:所以在重新阅读和思考之后,我认为另外两个问题可以通过澄清一个选项卡栏应用程序来回答。不幸的是,我也是iOS新手,我还没有机会创建一个选项卡栏应用程序,所以我不想给你错误的信息。我建议你去看看,希望它能让你更好地了解Tab Bar应用程序的工作原理。我一直在用那本电子书和那个网站上的另一本结合Ray Wenderlich的教程自学
不管怎样,我希望这在某种程度上有所帮助,如果你想让我尝试澄清或详细说明任何事情,请发表评论,我会看看我是否能提供帮助
祝你好运
-Karoly在我的脑海里,我只能为你回答第三个问题,你可以用我知道的两种方法之一来回答,如果有人认为这两种方法中的任何一种都是错误的或不好的做法,我希望有人纠正我,因为我一直在这样做
[appDelegate.window addSubview:appDelegate.newRootViewController.view];
appDelegate.window.rootViewController = appDelegate.newRootViewController;
或
两者都应该完成同样的任务,不过如果你能帮助的话,第二个版本是理想的。同样值得注意的是,对于第一个,没有任何欺骗,实际上您正在将应用程序的rootViewController设置为不同的设置
我会做一些挖掘,看看我是否也能回答你的任何其他问题
编辑:所以在重新阅读和思考之后,我认为另外两个问题可以通过澄清一个选项卡栏应用程序来回答。不幸的是,我也是iOS新手,我还没有机会创建一个选项卡栏应用程序,所以我不想给你错误的信息。我建议你去看看,希望它能让你更好地了解Tab Bar应用程序的工作原理。我一直在用那本电子书和那个网站上的另一本结合Ray Wenderlich的教程自学
不管怎样,我希望这在某种程度上有所帮助,如果你想让我尝试澄清或详细说明任何事情,请发表评论,我会看看我是否能提供帮助
祝你好运
-Karoly您误解了应用程序代理的工作方式 它是应用程序的委托,而不是控制器。在调用ApplicationIDFinishLaunching时,可以从xib加载控制器,但这两个事件之间没有连接 ApplicationIDFinishLaunching只是在应用程序准备好使用之前进行最终设置的地方 如果没有在主xib文件中实例化选项卡栏控制器,可以在此处实例化它,然后实例化它的所有控制器并将它们添加到选项卡栏控制器。在执行此操作时,可以加载plist,在控制器上设置属性,等等 如果您确实在主xib文件中实例化了选项卡栏控制器,您仍然可以在此处访问其控制器。您可以编辑这些控制器,也可以丢弃它们并创建新的控制器。您甚至可以扔掉选项卡栏控制器,切换到导航控制器 我不能回答问题1和2,因为它们背后的假设是无效的
与其问你如何解决应用程序代理和选项卡栏控制器的感知问题,不如描述你试图实现的目标。你误解了应用程序代理的工作方式 它是应用程序的委托,而不是控制器。在调用ApplicationIDFinishLaunching时,可以从xib加载控制器,但这两个事件之间没有连接 ApplicationIDFinishLaunching只是在应用程序准备好使用之前进行最终设置的地方 如果没有在主xib文件中实例化选项卡栏控制器,可以在此处实例化它,然后实例化它的所有控制器并将它们添加到选项卡栏控制器。在执行此操作时,可以加载plist,在控制器上设置属性,等等 如果您确实实例化了