UIButton 在 iOS 7 的兼容模式下没有获得 iOS 6 样式

Posted

技术标签:

【中文标题】UIButton 在 iOS 7 的兼容模式下没有获得 iOS 6 样式【英文标题】:UIButton doesn't get iOS 6 styling in compatibility mode in iOS 7 【发布时间】:2013-11-11 19:51:33 【问题描述】:

我正在开发一款尚未针对 ios 7 重新设计的应用。我希望在应用更新中添加一些新功能,但我希望该应用在 iOS 6 兼容模式下运行" 在 iOS 7 上。我已将 Base SDK 设置为 iOS 6.1。当我构建并运行 iOS 6 模拟器时,一切看起来都很好。但是,在 iOS 7 模拟器中,所有元素看起来都类似于 iOS 6,但 UIButton 除外,它们都是无边框的。

这是预期的行为,还是我做错了什么?

我使用一个带有一个按钮和一个开关的简单应用程序对此进行了测试。

iOS 6 模拟器:

iOS 7 模拟器:

请注意,在 iOS 7 中,开关与 iOS 6 类似,但按钮却没有。

【问题讨论】:

【参考方案1】:

根据我的经验,如果您想保留 iOS 6 UI,则需要使用 xCode 4.6 工作和提交应用程序。在 iOS 7 中测试有点乏味,但您可以做到,但在 iOS 7 设备上安装 ad hoc 应用程序。

更新

正如@rmaddy 在 cmets 中提到的那样,您可以直接从 Xcode 4.6 构建到 iOS 7。在此之前使用您的 iOS 7 设备和 xCode 5。

【讨论】:

相信 Xcode 5 更新了我的故事板,使其无法在 Xcode 4.6 下打开。如果是这样,那该有多痛苦! @KDaker 您可以使用 Xcode 4.x 在装有 iOS 7 的设备上运行和调试开发构建。无需临时构建和部署。为我工作。 @mharper 在 Xcode 5 中打开 .xib 或故事板,在文件检查器中选择“在 xCode 4.6 中打开”并保存。你现在应该可以在 Xcode 4.6 中打开它了。 @rmaddy 你是怎么做到的? @KDaker 我就是这么做的。没什么特别的。尽管它可能需要您对设备使用一次 Xcode 5。一旦你这样做了,它应该可以与 Xcode 4.x 一起使用。

以上是关于UIButton 在 iOS 7 的兼容模式下没有获得 iOS 6 样式的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式更改UIButton的标题颜色,其标题设置为iOS 7中的属性

UIButton 在 IOS 6 中显示带有圆角的默认白色背景,但在 IOS 7 中没有

UIButton 在 iOS 7 中无法正常工作

设置 UIButton alpha 在 iOS 7 上无法正常工作。

如何通过 IOS 7 中的文本自动调整 UIButton 的大小?

使用自动布局创建带有文本和图像的 iOS 7 UIButton