小编Zai*_*ain的帖子

更改为@EnvironmentObject中的@Published var不会立即反映出来

在这种特定情况下,当我尝试更改@EnvironmentObject的时@Published var,我发现该视图并没有立即失效并立即更新。相反,仅在离开模态并返回后,才会反映对变量的更改。

import SwiftUI

final class UserData: NSObject, ObservableObject  {
    @Published var changeView: Bool = false
}

struct MasterView: View {
    @EnvironmentObject var userData: UserData
    @State var showModal: Bool = false

    var body: some View {
        Button(action: { self.showModal.toggle() }) {
            Text("Open Modal")
        }.sheet(isPresented: $showModal, content: {
            Modal(showModal: self.$showModal)
                .environmentObject(self.userData)
        } )
    }
}

struct Modal: View {
    @EnvironmentObject var userData: UserData
    @Binding var showModal: Bool

    var body: some View {
        VStack {
            if userData.changeView { …
Run Code Online (Sandbox Code Playgroud)

swiftui

4
推荐指数
2
解决办法
674
查看次数

在SwiftUI中以编程方式检测暗模式以显示适当的图像

在中Assets.xcassets,可以添加其他图像,这些图像将根据外观自动切换。这对于静态图像效果很好,但是我试图弄清楚如何对下载的图像执行此操作。

影像集

有没有办法设置Imageinit 的暗模式版本,或者SwiftUI中是否有一个函数可以让您检测当前外观是否为暗,以便可以提供其他图像URL?

ios swift swiftui ios-darkmode

3
推荐指数
1
解决办法
812
查看次数

标签 统计

swiftui ×2

ios ×1

ios-darkmode ×1

swift ×1