我在任何地方都找不到一个好的答案。我正在为我的 iPhone 应用程序使用 UINavigationController,所有内容都是以编程方式生成的,界面生成器中没有任何内容。我正在尝试使用 UISplitViewController 和现有的 UINavigationController 将我的应用程序移植到 iPad,但我不确定我的程序逻辑应该在哪里分离 iPhone 或 iPad 的视图控制器。
我是否将主文件设置为使用不同的应用程序委托,或者是否使用相同的应用程序委托并在其中有条件地设置用户界面?
除此之外,每当我尝试在模拟器上编译我的应用程序时,它都无法识别 UISplitViewController ,甚至无法识别我检查类是否存在的条件。
请有人帮我指明正确的方向,记住我没有使用任何 xibs?
如果您想查看使用分割视图的完全编程化 iPhone / iPad 界面的示例,您可以下载我的应用程序的源代码分子 http://www.sunsetlakesoftware.com/molecules.
在该应用程序中,我使用一个应用程序委托,但根据存在的用户界面习惯(iPad 或 iPhone),我以不同的方式设置界面。对于 iPhone,我实例化了一个根视图控制器,用于管理该设备的相应接口。对于 iPad,我首先创建一个 UISplitViewController 并将其附加到根窗口,然后创建 iPad 特定的根视图控制器并将其放置为分割视图控制器的详细视图(使用我用于项目选择的导航控制器作为分割视图的左侧控制器)。
再次,我建议查看该应用程序项目,了解如何以编程方式进行设置。该代码在 BSD 许可证下可用,因此您可以根据需要将其复制并粘贴到您自己的应用程序中。
至于您遇到的编译错误,您需要使用“升级 iPad 的当前目标”菜单选项将应用程序目标迁移为通用应用程序。完成后,将构建 SDK 设置为 3.2。转到应用程序的构建设置,并将其部署目标设置为您希望应用程序支持的最早的操作系统(3.0 是您可以选择的最远版本)。
最后,您需要弱链接 UIKit。具体如何操作,请参阅我的回答here https://stackoverflow.com/questions/2618889/universal-iphone-ipad-application-debug-compilation-error-for-iphone-testing/2622027#2622027. 如果您使用 iOS 4.2 或更高版本的 SDK 进行构建,则不再需要框架的弱链接。只需在运行时检查适当的类是否存在,方法是查看它们是否存在+class
方法返回nil
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)