【问题标题】:Auto-resize iPhone xib app to ipad自动调整 iPhone xib 应用程序到 ipad 的大小
【发布时间】:2013-08-06 06:56:54
【问题描述】:

我用 5-6 个屏幕构建了一个“使用 xib”的 iPhone 应用程序。现在我想为 iPad 自动调整显示器的大小。我正在使用 xcode 4.6。

我是否必须使用情节提要重新构建整个代码?这将是一项非常乏味的工作。有什么解决办法吗?

【问题讨论】:

  • 你在使用自动布局吗?
  • 不,自动布局未选中。如果我使用自动布局,代码会在设备中崩溃,或者如果我尝试在旧版本模拟器中运行
  • storyboard 是管理 ipad 或 iphone xib 的一个不错的选择,如果设备 > iOS5

标签: iphone ios ipad xib


【解决方案1】:

您只需要为 iPad 创建新的 xib 文件并将它们命名为 ViewController_iPhone.xibViewController_iPad.xib 并且在切换视图时,只需输入一个简单的条件

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad){
    ViewController *viewController = [[ViewController alloc] initWithNibName:
                 @"ViewController_iPad" bundle:nil];
} else {
    ViewController *viewController = [[ViewController alloc] initWithNibName:
                 @"ViewController_iPhone" bundle:nil];
}

【讨论】:

  • 把这个if-else条件到处放不累吗?
【解决方案2】:

使用自动布局,一切都会自动完成

如果不是autolayout,那么制作 2 xib 将是一个更好的选择。使ipadxib 同名,并将~ipad 放在类名之后。

如果你 xib 名字是 myClass.xib 并创建另一个像 myClass~ipad.xib

【讨论】:

  • @VaibhavSaran :我没有使用自动布局,而是通过在 xib 名称中使用 ~iphone 和 ~ipad 后缀为 iphone 和 ipad 使用单独的 xib。我的问题是,我可以为 iPhone 5 等更长的 iPhone 屏幕使用像 ~-568h 这样的后缀吗?
猜你喜欢
  • 2012-10-28
  • 2012-03-24
  • 2011-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-22
  • 1970-01-01
相关资源
最近更新 更多