【发布时间】:2020-08-21 15:40:40
【问题描述】:
所以我创建了一个没有核心数据、没有测试的新 iOS 单视图应用程序,然后我删除了 Main.storyboard 和启动屏幕故事板。 我想尽可能多地编写代码,以便了解我在做什么(因为我只是在学习 iOS 编程)。问题是,我无法用背景图像填充整个 iPhone X 屏幕。我首先使用情节提要尝试过,没有任何问题。我错过了什么吗?
// AppDelegate.swift
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
window = UIWindow(frame: UIScreen.main.bounds)
let mainController = MainController()
window?.rootViewController = mainController
window?.makeKeyAndVisible()
return true
}
}
// MainController.swift
import UIKit
class MainController: UIViewController {
let background: UIImageView = {
let image = UIImageView(image: #imageLiteral(resourceName: "bg"))
image.translatesAutoresizingMaskIntoConstraints = false
return image
}()
}
extension MainController {
override func viewDidLoad() {
super.viewDidLoad()
setupBackground()
}
}
extension MainController {
func setupBackground() {
view.addSubview(background)
NSLayoutConstraint.activate([
background.leadingAnchor.constraint(equalTo: view.leadingAnchor),
background.trailingAnchor.constraint(equalTo: view.trailingAnchor),
background.topAnchor.constraint(equalTo: view.topAnchor),
background.bottomAnchor.constraint(equalTo: view.bottomAnchor)
])
}
}
【问题讨论】:
-
您只需要在 iPhone X 上设置正确的启动画面。
-
那里,代码而不是图像(:. 抱歉
-
如果不正确添加设置启动画面是不可能的
-
最简单的方法是使用启动故事板。这将自动调整所有设备的大小,并让 iOS 知道您的应用程序知道 iPhone X
-
是的,您可以使用图像文件,但是随着新设备的发布,您需要不断添加更多正确尺寸的图像,并且您必须创建所有这些资产