为 iOS 4 App 添加 iPhone 5 xib

Posted

技术标签:

【中文标题】为 iOS 4 App 添加 iPhone 5 xib【英文标题】:Add iPhone 5 xib for iOS 4 App 【发布时间】:2013-04-07 22:41:32 【问题描述】:

我使用MainWindow.xibMainWindow_pad.xib 为iPad 和iPhone 开发了一个应用程序。 iPhone/iPod 的主界面是MainWindow,iPad 的主界面是MainWindow_pad.xib

现在我们希望支持 iPhone 5。 该应用程序必须与 ios 4 兼容,所以我不能使用 AutoSizing。 因此我为 iPhone 5 创建了MainWindow_5.xib

现在是我可以加载MainWindow_5.xib的问题??

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 或之前?

我一直在互联网上上下搜索,但没有找到可行的解决方案。 我不能是唯一面临这个问题的人吗?

我希望得到一些帮助来解决这个问题:)

【问题讨论】:

已解决我将所有内容放在一个 xib 中,然后在“didFinishLaunchingWithOptions”中选择视图控制器。 【参考方案1】:

您是否考虑过使用“旧”的 autoresizingMask?

即UIViewAutoresizingFlexibleHeight

您应该能够将掩码设置为在 iPhone 5/4 上轻松工作并支持向后兼容性。

【讨论】:

我已经完成了 xibs,它们完全符合设计师的要求。所以我需要使用另一个xib。 可以理解。不过,从个人经验来看,如果苹果碰巧发布了另一款屏幕尺寸略有不同的设备,您将不得不创建另一个 xib。现在可能需要更多时间,但您会发现具有适当自动调整大小处理的相关布局将在未来节省时间。此评论假定您的设计师不希望您为 iPhone 5 和 4 创建不同的设计。【参考方案2】:

您必须在运行时加载正确的 XIB。这意味着检查[[[UIScreen main screen] bounds] height]是否返回568。如果是,则加载基于4英寸屏幕的XIB,否则加载正常的。这一切都在application:didFinishLaunchingWithOptions:中完成。

【讨论】:

好的,听起来不错。你能分享一些如何加载XIB的代码吗?

以上是关于为 iOS 4 App 添加 iPhone 5 xib的主要内容,如果未能解决你的问题,请参考以下文章

查看 IOS 5.x 和 IOS 4.x 之间的行为差​​异

iOS 11 Swift 4 iPhone X Safe Area 支持全屏ScrollView

iPhone 4 iOS 5 电池电量监控是不是需要将 setBatteryMonitoringEnabled:NO 添加到定期电池检查?

为 iPad 添加新目标后创建 AdHoc 时出现 iPhone App 问题

iOS:这 5 款春节必备 APP,iPhone 用户新年快乐!

IOS : Cordova App Crash on Google Map api zoom in ios 11.3 iphone x