【问题标题】:Swift / LaunchScreen backgroundSwift / LaunchScreen 背景
【发布时间】:2016-02-24 22:13:17
【问题描述】:

我使用 UIView 扩展在我的应用中设置背景。

import UIKit

extension UIView {
    func addBackground() {
        // screen width and height:
        let width = UIScreen.mainScreen().bounds.size.width
        let height = UIScreen.mainScreen().bounds.size.height

        let imageViewBackground = UIImageView(frame: CGRectMake(0, 0, width, height))
        imageViewBackground.image = UIImage(named: "index_clear")
        imageViewBackground.clipsToBounds = true

        // you can change the content mode:
        imageViewBackground.contentMode = UIViewContentMode.ScaleAspectFill
        self.addSubview(imageViewBackground)
        self.sendSubviewToBack(imageViewBackground)
    }}

图片比 iphone 屏幕大 3-4 倍。 现在我尝试在 LaunchScreen 中设置相同的背景。在同一个位置。

我尝试在 Interface Builder 中使用 Image View 来执行此操作,但即使我选择“Aspect Fill”,图片也不在同一位置。

有什么想法吗?非常感谢您的帮助。

按要求截图

启动屏幕:

每隔一个屏幕:

@DeyaEldeen 的建议

【问题讨论】:

  • 请添加两个屏幕截图,以便我们确保可以根据需要为您提供帮助。

标签: ios swift


【解决方案1】:

变化是由导航栏高度引起的

尝试在视图控制器中设置这样的背景

let imageViewBackground = UIImageView(frame: CGRectMake(0, 0, self.view.frame.width, self.view.frame.height))
imageViewBackground.image = UIImage(named: "index_clear")
imageViewBackground.center = self.view.center
self.view.addSubview(imageViewBackground)

【讨论】:

  • 我已经编辑了帖子,并为您的解决方案提供了一个屏幕。那几乎没有完成这项工作
  • 你是如何为启动画面添加背景的?你使用约束吗?如果有限制条件是什么?
  • 我只使用中心 X 和中心 Y
  • 好的,我唯一能帮上忙的就是告诉你我在我最近开发的两个应用程序中如何匹配(启动画面的背景和启动画面后出现的下一个视图),启动画面背景图像视图具有相同尺寸的屏幕约束,然后在下一个视图中,背景图像将具有与导航栏偏移补偿相同的约束,这给了我看起来它们是相同图像而没有注意到的结果有什么不同,我希望这会有所帮助。
  • 谢谢你。希望我能做的更多,因为我对我的扩展非常满意。
猜你喜欢
  • 1970-01-01
  • 2023-03-25
  • 1970-01-01
  • 1970-01-01
  • 2016-02-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多