我一直在尝试将 SwiftUI 应用程序中的状态栏设置为浅色文本,因为它具有深色背景。
我在几个网站上找到了这个解决方案,但无法让它工作。
HostingController.swift
import Foundation
import UIKit
import SwiftUI
class HostingController : UIHostingController {
override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}
}
Run Code Online (Sandbox Code Playgroud)
这将在类声明行返回错误,Reference to generic type 'UIHostingController' requires arguments in <...>并建议修复Insert '<<#Content: View#>>'. 应用所述修复会导致错误Use of undeclared type '<#Content: View#>'
然后,您是为了改变window.rootViewController中SceneDelegate.swift的文件。
SceneDelegate.swift
...
// Create the SwiftUI view that provides the window contents.
let contentView = Login()
// Use a UIHostingController as window root view controller.
if let windowScene …Run Code Online (Sandbox Code Playgroud) 我刚刚开始在零售版本中使用 SwiftUI。我无法让我的文本视图之一自动扩展为多行。我已经阅读了很多关于 SO 和 HackingWithSwift 的线程,但无法让它工作。我想也许它可能与我的其他框架有关,但我不确定从哪里开始
struct Message: View {
var body: some View {
ZStack() {
Color.blue.cornerRadius(8)
VStack(alignment: .leading, spacing: 8) {
Text("Lorem Ipsum")
.foregroundColor(.white)
.bold()
.font(.system(size: 20))
Text("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Donec enim diam vulputate ut pharetra. Sed turpis tincidunt id aliquet risus feugiat in. Interdum velit laoreet id donec ultrices tincidunt arcu non. Lorem END")
.foregroundColor(.white)
.lineLimit(nil)
Text("Sent to Group1 by iShaymus") …Run Code Online (Sandbox Code Playgroud) 我目前正在从 Firebase Firestore 获取网站列表,然后将它们返回到 SwiftUI 中的列表。每个列表项都有一个标签和切换。站点列表是动态的,因此可以是 1-30 多个站点。如何创建 @State 或类似的可绑定来观察每个切换的状态。
我目前正在使用以下内容渲染到 UI
@State private var SiteA = false
Run Code Online (Sandbox Code Playgroud)
Form {
Section (header: Text("Select Sites")) {
ForEach(siteData.sites) { site in
HStack {
Toggle(isOn: self.$SiteA) {
Text(site.name)
Spacer()
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
使用 Bindable 对象检索站点
import SwiftUI
import Combine
import Firebase
import FirebaseFirestore
struct Message: Identifiable {
var title: String
var messageBody: String
var sentBy: String
var targetSite: String
var expired: Bool
var timeStamp: Timestamp
var emergency: Bool
var id: String …Run Code Online (Sandbox Code Playgroud)