通用iPad/iPhone XIBs - Xcode 4

Sam*_*Sam 2 iphone xib universal ipad xcode4

我想制作一个具有两个不同XIB文件的通用应用程序.一个用于iPhone,一个用于iPad.他们使用相同的代码,只是不同的UI.我如何创建一个"通用"应用程序?

谢谢.

ZYi*_*iOS 6

只需复制xib文件,然后将其重命名为FileName~ipad.xib,将其添加到您的项目中,iOS将自动加载正确的xib文件,参考您的设备.


Mat*_*att 5

首先(您说您正在创建基于视图的应用程序),请根据iPhone或iPad视图创建它.

这将为您提供appdelegate,viewcontroller和视图(根据您选择的选项为iPad或iPhone量身定制)

现在添加另一个xib,转到文件>新建文件...在对话框的左侧查看并选择iOS组中的"用户界面".在右侧窗格中,选择View并单击next,现在选择iPad或iPhone(基于您最初选择的内容)创建xib时,选择它,然后选择主窗格左侧的文件所有者.然后,转到Utilities(右窗格)并选择Identity inspector(顶部的第3个选项图标),将类更改为与创建基于视图的应用程序时创建的viewController相同.您可以在两个视图上以相同的方式绑定出口,但它们将共享相同的viewController.

确定应用程序在运行时运行的设备,您可以使用约定

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
Run Code Online (Sandbox Code Playgroud)

并根据这种条件陈述加载观点.为了清楚起见,请记住使用其名称加载一个笔尖,以便您可以选择与环境相关的笔尖(上图),框架将完成剩下的工作.

请注意,它永远不会像您想象的那样简单(如果您以前从未这样做过)充分利用iPad房地产的应用程序通常倾向于使用专用视图更好地工作,尽管情况并非总是如此.考虑到屏幕空间的差异,任何动态添加的屏幕组件都需要这样编码.

这很容易变成一篇文章,我建议你做一些阅读,查看源代码并深入研究.你只需要通过实验就能学到很多东西.