作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我创建了一个没有核心数据、没有测试的新 iOS 单 View 应用程序,然后我删除了 Main.storyboard 和启动屏幕 Storyboard。
我想尽可能多地编写代码,以便了解我在做什么(因为我只是在学习 iOS 编程)。问题是,我无法用背景图像填充整个 iPhone X 屏幕。我首先使用 Storyboard 尝试过,没有任何问题。我错过了什么吗?
// 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)
])
}
}
最佳答案
总结以上评论,需要使用启动 Storyboard 为了让 iOS 为您提供一个覆盖设备全部边界的 UIScreen。
如果您还没有启动 Storyboard,请通过 File
在 Xcode 11 中创建一个。 > New
> File...
> Launch Screen
.然后确保在您的应用程序目标 > 常规 > 启动屏幕文件下选择该启动 Storyboard。
关于ios - 如何在没有 Storyboard 的情况下以编程方式填充 iPhone X 模拟器的背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47095344/
我是一名优秀的程序员,十分优秀!