iOS 8 - 启动屏幕文件的背景渐变

Posted

技术标签:

【中文标题】iOS 8 - 启动屏幕文件的背景渐变【英文标题】:iOS 8 - Background gradient for launch screen file 【发布时间】:2014-09-10 18:48:05 【问题描述】:

如何将背景渐变应用到启动屏幕文件?

您是应该只包含大图像作为背景,还是可以在启动屏幕文件中运行代码来进行自定义绘图?

【问题讨论】:

【参考方案1】:

您不能在启动屏幕中运行代码或使用任何自定义类。

您必须提供可拉伸的图像,其中包含足够的数据,使其在所有分辨率下都可用。

此外,您还可以利用 @2x@3x 修饰符。 iPhone 6 plus 将尝试加载 @3x 修饰符,AFAIK。

作为最后的手段,如果启动屏幕 xib 对您来说不够用,您仍然可以使用 UILaunchImages plist 键,并为最低版本 8.0 指定图像。缺点是 Xcode 不会自动为您生成这些,因此您必须手动编写它们。还要记住 iPhone 6 plus 图片的修饰符是@3x

一个例子:

UILaunchImage = Default // This is for ios 6, if you need it

UILaunchImages // iOS 7, 8
- [0]
-   UILaunchImageName = Default
-   UILaunchImageMinimumOSVersion = 7.0
-   UILaunchImageSize = 320, 480
-   UILaunchImageOrientation = Portrait
- [1]
-   UILaunchImageName = Default-568h
-   UILaunchImageMinimumOSVersion = 7.0
-   UILaunchImageSize = 320, 568
-   UILaunchImageOrientation = Portrait
- [2]
-   UILaunchImageName = Default-667h
-   UILaunchImageMinimumOSVersion = 8.0
-   UILaunchImageSize = 375, 667
-   UILaunchImageOrientation = Portrait
- [3]
-   UILaunchImageName = Default-736h
-   UILaunchImageMinimumOSVersion = 8.0
-   UILaunchImageSize = 414, 736
-   UILaunchImageOrientation = Portrait

P.S.上面的plist 也是为图像目录或启动屏幕文件本地化苦苦挣扎的人提供的完美解决方案。

【讨论】:

【参考方案2】:

只要您可以将 PDF 单个矢量资源添加到您的项目中,我通常会将必须在启动图像中的渐变从 Illustrator 或 Photoshop 导出到 PDF,并将它们包含在布局中,效果非常好。

【讨论】:

这行得通,但让它显示出来很棘手:我必须清除 Xcode 缓存,重新启动 Xcode,从手机中删除应用程序,重新启动手机,然后才显示图像...... 我需要在资产目录中包含渐变(并将其分配给 1x、2x、3x)才能正常工作。不过,我很好奇 Xcode 是否会在此时将矢量转换为位图 PNG。 您还可以在属性检查器的“Scales”中选择“Single Scale”,以避免将其分配给 1x、2x 和 3x。您可以选中“保留矢量数据”框以确保它可以很好地扩展。见here @lenooh 对我有用的只是关闭 Xcode 并重新打开它。

以上是关于iOS 8 - 启动屏幕文件的背景渐变的主要内容,如果未能解决你的问题,请参考以下文章

渐变背景适用于 iOS 8 但不适用于 iOS 7

视图背景渐变的旋转动画

默认屏幕背景为黑色 iOS

iOS7,渐变作为背景在表格视图中滚动

iOS导航栏背景透明渐变

如何在 iOS 的 xamarin 表单中创建渐变按钮背景