我在 SwiftUI 中创建了一个自定义工作表,背景颜色为白色 .background(Color.white)
现在我希望当用户在 iOS 上打开暗模式时背景颜色变为黑色。但是我找不到背景的动态颜色,例如Color.primary文本的颜色等。
那么有没有什么方法可以在黑暗模式打开时将背景颜色更改为黑色?
在我的用例中,我必须将 a 放在 aTextField中的可用项目下方List,通过使用它TextField,我们可以将项目添加到List.
最初,没有列表项(items数组为空)
这是一个最小的、可重现的示例
import SwiftUI
struct ContentView: View {
@State var itemName = ""
@State var items = [String]()
var body: some View {
NavigationView {
List {
ForEach(self.items, id: \.self) {
Text($0)
}
VStack {
TextField("Item Name", text: $itemName)
.textFieldStyle(RoundedBorderTextFieldStyle())
Button(action: {
self.items.append(self.itemName)
self.itemName = ""
}) {
Text("Add Item")
}
}
}
.navigationBarTitle(Text("Title"))
}
}
}
Run Code Online (Sandbox Code Playgroud)

我们可以通过在 中键入一些内容TextField并单击“添加项目”来向列表中添加一个新项目Button,我们添加的每个项目都TextField …
我想在小部件中显示从 Core Data 获取的数据。但@FetchRequest不适用于小部件。
据我了解,我们必须创建一个应用程序组并创建一个共享的持久容器。
我想知道的是如何从共享的持久容器中读取(获取)小部件上的数据,或者简单地说,如何在小部件中显示从 Core Data 获取的数据。
我想TextField从一个视图中获取用户输入(使用)并在另一个视图中显示它(用户输入的文本)。
这是一个最小的、可重现的示例
我创建了一个ObservableObject名为UserData
import Foundation
import SwiftUI
import Combine
class UserData: ObservableObject {
@Published var name: String = ""
}
Run Code Online (Sandbox Code Playgroud)
然后,我创建了一个名为视图Edit与TextField在那里用户可以输入文本
import SwiftUI
struct Edit: View {
@ObservedObject var userData = UserData()
var body: some View {
VStack {
TextField("Enter Name", text: $userData.name)
}
}
}
Run Code Online (Sandbox Code Playgroud)
这ContentView是根视图,我想在其中显示用户输入的文本(最初,文本为空)。
import SwiftUI
struct ContentView: View {
@State var isPresented = false
@ObservedObject var userData = UserData()
var body: some View {
VStack …Run Code Online (Sandbox Code Playgroud) 据我所知,我们可以在 Apple Watch 应用上使用 Core Data。因此,独立的 watchOS 应用程序可以拥有自己的持久存储。但是当我们为 watchOS 应用程序创建项目时,没有选择使用核心数据(就像我们为 iOS 应用程序创建项目时一样)
那么,如何在独立的watchOS应用上实现Core Data呢?
我已从 iOS 应用程序(使用 Core Data)复制此代码并将其粘贴到ExtensionDelegate我的独立 SwiftUI watchOS 应用程序中
// MARK: - Core Data stack
lazy var persistentContainer: NSPersistentContainer = {
/*
The persistent container for the application. This implementation
creates and returns a container, having loaded the store for the
application to it. This property is optional since there are legitimate
error conditions that could cause the creation of the store to fail.
*/ …Run Code Online (Sandbox Code Playgroud) 我正在尝试将其装入TextEditora 内部ScrollView。
有没有办法TextEditor只占用适合所有文本所需的空间?
或者简单地说,如何动态更改 的height来TextEditor适应所有文本?