演示-在SwiftUI的顶部显示一个视图(我不想导航)

时间:2019-12-02 12:50:29

标签: swift swiftui

嘿,我想在View的中间显示一个自定义View,我试图添加ZStack并居中,但是不起作用..这是我的代码

 var body: some View {
        VStack(alignment: .leading, spacing: 8) {
            headerView.padding().background(Color.white)
            ZStack(alignment: .center) {
                if(incomeFill_show) {
                    BudgetAlert(amount: .constant("400"))
                }

                List() {
                    VStack {
                        Section(header: self.getHeaderView()) {
                            ForEach(categoriesData) { category in
                                HStack(alignment: .bottom) {
                                    CategoryProgressView(category: category, value: .constant(.random(in: 0.1 ... 1)))
                                    self.valuesText(category: category)
                                }

                            }
                            .colorMultiply(Colors.SharedColors.backgroundColor)
                        }
                    }
                }
                .colorMultiply(Colors.SharedColors.backgroundColor)
                .onAppear {UITableView.appearance().separatorStyle = .none}
                .onDisappear { UITableView.appearance().separatorStyle = .singleLine }
            }


        }.background(Colors.SharedColors.backgroundColor)
    }

我只想显示具有这样模糊背景的 BudgetAlert()

enter image description here

1 个答案:

答案 0 :(得分:1)

我通过放置

解决了
awk '!/=/{print gensub(/((\s*\S+){6}).*/, "\\1", 1)}'

位于列表底部:

if(incomeFill_show) {
                    BudgetAlert(amount: .constant("400"))
                }

enter image description here

对于模糊的背景,您可以在此处看到以下代码:

var body: some View {
        VStack(alignment: .leading, spacing: 8) {
            headerView.padding().background(Color.white)
            ZStack(alignment: .center) {

                List() {
                    VStack {
                        Section(header: self.getHeaderView()) {
                            ForEach(categoriesData) { category in
                                HStack(alignment: .bottom) {
                                    CategoryProgressView(category: category, value: .constant(.random(in: 0.1 ... 1)))
                                    self.valuesText(category: category)
                                }

                            }
                            .colorMultiply(Colors.SharedColors.backgroundColor)
                        }
                    }
                }
                .colorMultiply(Colors.SharedColors.backgroundColor)
                .onAppear {UITableView.appearance().separatorStyle = .none}
                .onDisappear { UITableView.appearance().separatorStyle = .singleLine }

                if(incomeFill_show) {
                    BudgetAlert(amount: .constant("400"))
                }
            }


        }.background(Colors.SharedColors.backgroundColor)
    }
}

enter image description here

  

但我更喜欢背景褪色