Xcode 4 .xib创建iPad版本

17

我有一个 iPhone xib 文件,想要将其转换为 iPad xib 文件。在 Xcode 3 中,有一个“创建 iPad 版本”的菜单选项。在 Xcode 4 中该如何操作呢?

目前,我已经调整了 xib 的大小,但是当我打开模拟项目(导航栏等)时,它会将视图缩小到 iPhone 的大小。

9个回答

54

这对我很有效:

  1. 在Finder中复制.xib文件。
  2. 在文本编辑器中打开复制的文件。
  3. 将“com.apple.InterfaceBuilder3.CocoaTouch.XIB”更改为“com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB”。
  4. 将所有出现的“IBCocoaTouchFramework”更改为“IBIPadFramework”。
  5. 搜索大小如{480, 320}并进行编辑,或者只需在Xcode中重新打开文件并使用图形界面按需调整项目大小即可。

这也适用于反向操作,如果您需要将iPad xib更改为iPhone xib。


4
您无需用文本编辑器打开新的 xib 文件。您可以在 Xcode 4 中以“源代码”模式打开复制的 xib 文件,右键单击复制的 xib 文件,在“打开方式”下选择“源代码”,直接编辑代码。(完成后,请选择“界面构建器”) - hokkuk
15
另外,你不需要寻找要更改的这些视图的大小,你可以在完成你所建议的两个编辑后保存复制的XIB文件(按照上面的注释将其转换为IB格式)。然后,在新的XIB中突出显示(选择)主视图控制器或UI视图,然后进入属性检查器(在Xcode的最右侧列中看起来像一个滑块控件),在复制的XIB中,选择“大小”下的“Ipad全屏”,然后重新排列子视图以适合你的需求。 - hokkuk
1
完全同意。正如@hokkuk所说,“大小”选择“iPad全屏”是一个非常好的方式,无需搜索尺寸:D - Zaraki
1
只是想分享一个基于你的回答制作的命令行工具:http://iphone.dizzystudios.net/ConvertToiPad - Dimitar Marinov
还需要将targetRuntime="iOS.CocoaTouch"更改为targetRuntime="iOS.CocoaTouch.iPad"。 - hknkrt

14

Xcode 4中,将XIB转换为应用程序的选项相当隐蔽,但仍然存在。

选择目标(在XCODE4中,当您选择项目时会显示)。选定后,使用上下文菜单进行“复制”。它会询问您是否要“复制并转换为iPad”。然后,所有XIB将使用新的iPad尺寸进行复制。


那很好知道,但我仍然想逐个将它们转换为.xib文件。 - Collin
8
请注意,若您的目标设备不是“iPhone”,则“转换到iPad”的选项将不会显示。使用“通用”选项也无法显示该选项。 - Ben G

7

在评估我的选择时,我的想法如下:

  • 安装Xcode 3并降级项目太麻烦了
  • 不想搞乱.xib文件格式——担心会在很久以后出现问题
  • 复制相同的nib并不完美(请参见本主题中的解释)

所以最终,我做的事情是:

  1. 创建一个新文件,选择“UIViewController派生”类
  2. 勾选“用于iPad”的复选框
  3. 命名文件为-iPad
  4. 删除与uiviewcontroller对应的.h和.m文件
  5. 现在将新的nib与原始的nib具有相同的对象、结构和连接填充
  6. 检查是否在iPad上,如果是,则加载新的nib,否则加载旧的nib

3
“使用相同的对象填充新的笔尖”似乎可以通过复制粘贴来完成,这样可以缩短整个过程... - Oded Ben Dov
2
与其选择“选择uiviewcontroller”类,更容易的方法是只需“创建新文件”,然后进入iOS的“用户界面”部分,在那里选择“空白”..点击下一步,选择iPad。然后将UIViewController拖到其中...然而,arlomedia的答案加上他的评论会更容易些。 - hokkuk

2

这个功能已经从Xcode 4中删除了。
现在最简单的方法是使用Xcode 3进行转换,因为nib(.xib)文件格式没有改变。

Xcode 3和4现在可以通过选择不同的文件夹(请参阅磁盘映像上的安装说明)在同一系统上同时安装。


1
在XCode4中另一种简单的方法是:只需在Finder中复制iPhone XIB;将副本拖入您的项目。在XCodes内置界面构建器中打开复制的XIB。将NIB层次结构中顶部视图的大小更改为iPad尺寸(例如,横向状态栏为1024x748)-其他所有内容都会根据自动调整大小掩码进行调整。 对我来说完美地运作。

2
这个在你想模拟项目(导航栏等)时是有效的,但它会自动缩小回到iPhone尺寸。 - Collin

0
你需要使用旧版本的Interface Builder来使用“使用自动调整掩码创建iPad版本”的功能。目前在Xcode 4中没有这个选项。

0

如果您创建一个新的nib文件,它会询问您是否应该为iPad调整大小。除非您已经在其上进行了大量工作,否则这可能是最简单的方法。


是的,我有来自我的 iPhone 项目的 Nibs 我想要转换为 iPad 格式。目前,我只是将它们拉伸了,但模拟的功能不起作用。 - Collin

0

使用XCode 4,您只需在项目导航器中选择(iPhone特定的).xib文件,然后选择文件... --> 复制...

将新的.xib文件命名为与您的iPhone特定文件相同,但在名称后添加~ipad。您以前在视图层次结构中的所有连接都应该在全新的iPad特定.xib文件中保持不变。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接