小编DI.*_*dev的帖子

如何观察UserDefaults的变化?

我的看法是@ObservedObject

struct HomeView: View {

    @ObservedObject var station = Station()

    var body: some View {
        Text(self.station.status)
    }
 
Run Code Online (Sandbox Code Playgroud)

它根据Stringfrom更新文本Station.status

class Station: ObservableObject {
    @Published var status: String = UserDefaults.standard.string(forKey: "status") ?? "OFFLINE" {
        didSet {
            UserDefaults.standard.set(status, forKey: "status")
        }
    }      
Run Code Online (Sandbox Code Playgroud)

status但是,我需要更改my 中的值AppDelegate,因为这是我接收Firebase Cloud Messages的地方:

func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any],
                 fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
  // If you are receiving a notification message while your app …
Run Code Online (Sandbox Code Playgroud)

ios swift swiftui

11
推荐指数
1
解决办法
1万
查看次数

SwiftUI - 如何让视图走出其父容器

有没有办法允许视图超出其父视图的边界。这是我想要实现的目标的直观表示:

视觉表现

我的设置显示在屏幕 (1) 上。红色边框表示主视图(黑色边框)内的另一个视图。我想要做的是,当按下橙色按钮时,在全屏高度上显示灰色视图(也带有黑色边框),即使灰色视图也位于红色视图内 - 效果如屏幕(2)所示。

基本上我需要使视图超出其父边界

不幸的是,我只能实现屏幕(3)的效果。灰色视图包含在 GeometryReader 中,我将其高度设置为等于它可以获得的最大高度。

不要建议我将灰色视图从红色视图中移出,使其位于根级别,然后使用绑定来显示/隐藏侧边栏。这不是我在我的项目中可以做的事情。

xcode ios swift swiftui

5
推荐指数
0
解决办法
876
查看次数

标签 统计

ios ×2

swift ×2

swiftui ×2

xcode ×1