【问题标题】:Xcode 4.2 , change the iPhone xib to iPad xibXcode 4.2 , 将 iPhone xib 更改为 iPad xib
【发布时间】:2012-05-14 15:04:08
【问题描述】:

我创建了包含 5 个 xib 的项目。当我尝试在 iPad 模拟器中运行该项目时。一些 Xib 将采用 iPhone 屏幕尺寸。我想转换那些支持 iPad Xib 屏幕尺寸的 iphone xib。知道怎么做吗?

注意:我想同时支持 iPhone 和 iPad

【问题讨论】:

  • 如果您已经创建了那些针对 iPhone 的 .xib 文件,那么创建一个针对 iPad 的新视图文件。依此类推,您可以为 iPad 创建单独的 .xib 文件。
  • 你的意思是,为 iphone 之类的 ipad 创建一个同名的 xib,我想再次添加 UI 的东西,就像我为 iPhone 添加的一样?
  • 正是.. 你来了..!创建一个新的.xib,名称后缀为a-iPad.xib 并继续。创建通用应用程序的标准方法建议这样做。
  • 是的。我发现这很有用。我对此有一个疑问,在该代码中,我们正在检查它是 iphone 还是 ipad,然后我们正在加载 xib。但是为什么我的项目中的一些 xib 被调整为 ipad 即使我没有检查条件并且我也创建了一个 xib。
  • 是的好问题(+1 评论)。即使这对我来说也是奇迹。因为我在商店里有 iPhone 应用程序,然后我开始让它通用。在开发阶段,我发现了同样的情况,尤其是在一些表格视图中。

标签: iphone ios ipad xib


【解决方案1】:

它对我有用:

在 Finder 中复制 .xib。 在文本编辑器中打开复制的文件。 将“com.apple.InterfaceBuilder3.CocoaTouch.XIB”更改为“com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB”。 将“IBCocoaTouchFramework”的所有实例更改为“IBIPadFramework”。 搜索 {480, 320} 等尺寸并进行修改。或者只是在 Xcode 中重新打开文件并使用 GUI 根据需要调整项目的大小。 如果您需要将 iPad xib 更改为 iPhone xib,反之亦然。

【讨论】:

    【解决方案2】:

    我刚刚复制了旧的 Xib,最后将其重命名为 ~ipad。并且在源代码中而不是 320*480 我已经替换了 iPad 分辨率。我的 UI 即界面生成器看起来像 iPad,我的应用程序正在检测 ipad xib 的 .谢谢大家。

    【讨论】:

      【解决方案3】:

      您可以使用以下步骤将 iPhone xib 转换为 iPad xib。

      右键单击文件(在 xcode 中)并打开为 > 源代码

      第二行应该是这样的:

      <archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
      Replace with:
      
      <archive type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="7.10">
      

      搜索“IBCocoaTouchFramework”并将所有匹配项替换为“IBIPadFramework”

      保存文件并打开为 > Interface Builder - iOS

      您可以为 al xib 执行此操作...您的 iPhone xib 现在在 iPad xib 中。

      希望对你有所帮助..

      【讨论】:

      • 对不起,我没有提到。我想同时支持 iPhone 和 iPad。但我认为这将只支持 iPad
      • 您可以制作 iPhone 的第一个副本,然后应用上述步骤,以便为 iPad 创建新的 xib。
      • 让我说清楚。您告诉复制 iPhone xib 并重命名为 **** ~.ipad ,然后在源代码中我应该在 xib 中进行必要的更改,如上所述。我说的对吗?
      • 我遇到了同样的问题,多亏了 Nit,它现在已经修复并像冠军一样工作了......非常感谢你提供的这个信息。
      【解决方案4】:

      然后您应该创建您的项目或更新您的项目通用并更改 ipad xib 设置并自动调整大小。

      【讨论】:

      • 你的意思是重新创建整个项目?我的天啊。现在我可以在项目设置中看到 Target Device Family 为 iPhone/iPad。有没有其他方法可以转换 iPhone xib ?
      • 不,没有其他方法可以自动将所有 iPhone .xib 转换为 iPad .xib 满意的意见。
      • 如果你不介意的话。你能告诉我如何更新设置。只有少数 xib 大小不合适,其余的都是正确的。而且我猜我的项目支持通用。
      • 更新系统后自动创建 ipad xib 然后你可以像 iPhone xib 一样使用 xib 和 di 然后在 ipad 上运行它的 bummmmp 并且你的输出很好。
      • 好的。我会看看。谢谢
      【解决方案5】:

      我觉得对你有帮助

       if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
                  self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController_iPhone" bundle:nil] autorelease];
              } else {
                  self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController_iPad" bundle:nil] autorelease];
          }
      

      【讨论】:

      • 我只有 iPhone xib,我没有 iPad 的 xib
      • 当您创建新项目时,您可以在设备系列中使用“通用”,不要点击“使用故事板”,您将获得 iPad xib 和 iPhone xib。我认为您在设备系列中只使用了“iPhone”。检查一下。
      • 我已经检查过了。目标设备系列显示为 iPhone/iPad
      • 我使用的是iOS 5.0版本和Xcode4.2。它显示了 3 个选项,它们是通用的、iPad 和 iPhone。
      • 是的。在摘要选项卡下的目标中,设备:通用
      猜你喜欢
      • 2012-07-08
      • 2011-09-10
      • 1970-01-01
      • 2012-11-28
      • 2011-07-13
      • 2011-07-28
      • 1970-01-01
      • 2012-06-14
      • 1970-01-01
      相关资源
      最近更新 更多