iphone - 在 Xcode 中将 iPhone 目标应用程序转换为 Universal

标签 iphone ios xcode ios-universal-app

我有一个最初打算成为 iPhone 应用程序的项目,但现在我希望它也支持 iPad。我已将项目的目标从 iPhone 更改为 Universal,但我不知道如何管理我现在需要的两个 nib 版本,已经有为 iPhone 设计的 nib。我尝试根据设备加载具有不同 Nib 的相同 View Controller ,但我不允许将多个界面控件设置到相同的 socket 。有什么帮助吗?我有 Xcode 4.4

最佳答案

这很容易。
对于您的 Storyboard文件,只需包含 _iPad_iPhone后缀。
例如,如果原始 Storyboard名称是 MyStoryboard.storyboard ,您现在将拥有 MyStoryboard_iPad.storyboardMyStoryboard_iPhone.storyboard .您还可以在项目的摘要 View 下为每个设备设置 Storyboard文件。

然后,对于.xib 文件,包括 ~iPhone~iPad后缀。ViewController.xib变成 ViewController~iPad.xibViewController~iPhone.xib
首先,如果您现有的 .xib 文件,您可以创建一个副本并将它们重命名为具有 iPad 和 iPhone 后缀。然后根据需要更改每个 .xib 的内容。

至于 .m 代码,您可以检查设备类型并分支您的代码。我的方法是定义识别设备类型的宏,如下所示:

#define isDeviceIPad (UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad)
#define isDeviceIPhone (UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPhone)

然后我只使用这些宏(返回 bool 值)来编写特定于设备类型的代码(例如特定 View 的位置或尺寸等)。

关于iphone - 在 Xcode 中将 iPhone 目标应用程序转换为 Universal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13469792/

相关文章:

IOS 8 按钮背景图像检查不起作用

ios - 将 NSPersistentStoreResult 转换为数组

ios - 以编程方式在 uitableview 单元格中设置 slider 设置标签

iphone - 在iPhone项目中使用libpng的问题

ios - 附属 Action 与选择转场

iphone - iPhone 应用程序分析

ios - ios进度条不显示

ruby - 在 OSX 10.10 上安装 pg gem 时遇到问题

ios - 通过 pod 的 MessageKit 会使 iOS 应用程序崩溃

ios - 在 xcode 9.1 中创建 .mm 文件