保持我的 ios 应用程序在 ios6 中而不是 ios7 中的外观
Posted
技术标签:
【中文标题】保持我的 ios 应用程序在 ios6 中而不是 ios7 中的外观【英文标题】:keep the look of my ios app like it is in ios6 rather than ios7 【发布时间】:2013-12-20 18:32:46 【问题描述】:我有一个在 ios5 到 ios6 期间开发的 ios 应用
我的 iPhone 更新到 ios7 后,出现了问题。
例如,我在 alertView 中有一个文本字段,它应该输入用户的一些密码,但在 ios7 中,交互器发生了很大变化,文本字段消失了。
许多其他 UI 元素也发生了很大变化,包括开关、按钮等。
我的应用程序的 UI 不是真正扁平的样式,它不适合 ios7 的外观。 我要更新我的应用程序来解决 alertView 的问题, 但无论如何我可以保持交互器(按钮、开关、alertView 等)与 ios6 相同吗?
非常感谢!
【问题讨论】:
你最好不要。从 2 月 1 日起,如果您的应用在 iOS 7 下运行时不能完全接受 iOS 7 的外观和感觉,它将被 Apple 拒绝。 【参考方案1】:如果您使用 Xcode 5 之前的版本构建您的应用程序,那么即使在 iOS 7 上,它也会保留 iOS 6 的外观和感觉。但是如果您使用 Xcode 5 构建您的应用程序,那么它将具有新的 iOS 7 外观在 iOS 7 上运行时的感受。
但是,您特别提到了 UIAlertView,这是一个例外。即使对于尚未使用 Xcode 5 重建的现有应用程序,在 iOS 7 上运行时,UIAlertView 将始终以 iOS 7 的外观出现。在 iOS 7 上,您无法使用旧的 UIAlertView。
从您的问题的声音来看,听起来您正在手动将自己的文本字段添加到 UIAlertView。您永远不应该手动将视图添加到 UIAlertView。 Apple 不支持这一点,而且它似乎被 iOS 7 打破了。如果您查看 UIAlertView 的文档,您会发现您可以让它显示一个文本字段,包括一个用于密码输入的字段,这应该符合您的需要。因此,我建议更新您的应用以正确使用 UIAlertView 的内置文本字段功能。
至于让您的应用程序保持旧的外观和感觉,从 2 月 1 日开始,Apple 将停止接受使用早于 Xcode 5 的 Xcode 版本构建的应用程序进入应用程序商店。因此,届时所有新的应用程序提交将在 iOS 7 上运行时的新 iOS 7 外观。因此,无论您喜欢与否,您都必须修改您的 UI 以适应 iOS 7 的外观。
【讨论】:
【参考方案2】:您可以通过将项目目标的 Base SDK 设置为 iOS 6.1 来实现。
为此,首先转到 Xcode 4 (Xcode.app),右键 click->Show Package Contents -> Contents->Developer->Platforms->iPhoneOS.platform->Developer->SDKs
并复制 iPhoneOS6.1.sdk
然后转到Xcode5(Xcode.app),右click->Show Package Contents -> Contents->Developer->Platforms->iPhoneOS.platform->Developer->SDKs
并粘贴复制的iPhoneOS6.1.sdk
所以它看起来如下,
然后退出Xcode5,重新打开Xcode5 ->Project Target->Build Settings->Base SDK
,设置为iOS6.1
您可以从 Xcode 中选择所需的模拟器。
如果不可用,请转到Xcode->Preferences->Downloads
并下载模拟器
【讨论】:
不要这样做。自 2014 年 2 月 1 日起,所有新应用和应用更新都需要 iOS 7 或更高版本的 Base SDK。以上是关于保持我的 ios 应用程序在 ios6 中而不是 ios7 中的外观的主要内容,如果未能解决你的问题,请参考以下文章