【问题标题】:Background Img not staying on Screen Preview (SwiftUI w/ screen shots)背景图像不停留在屏幕预览上(带有屏幕截图的 SwiftUI)
【发布时间】:2022-01-16 08:48:43
【问题描述】:

Xcode 版本 - 13.1

我在背景图片和分组 Form{} 方面遇到了一些问题。发生的情况是,在 ZStack 中放置背景图像并包含分组选项Form{} 时,背景图像消失了。

在我的代码下方显示了我在 ZStack 中的背景图像。还包括指向预览屏幕截图的链接 -> https://i.stack.imgur.com/u12Sw.png

    var body: some View {

        ZStack {
            Image("login")
                .resizable()
                .scaledToFill()
                .edgesIgnoringSafeArea(.all)
        }
    }

但是,当我在 ZStack 中添加 Form{} 时,背景图像会完全消失,并且只有 Form{}(带有 TextField 和 SecureTextField)出现在无背景图像的预览中。下面是带有预览屏幕截图的代码和链接 -> https://i.stack.imgur.com/BI3U2.png

var body: some View {

        ZStack {
            Image("login")
                .resizable()
                .scaledToFill()
                .edgesIgnoringSafeArea(.all)

            Form {
                    TextField(
                        "Username (email)",
                        text: self.$username)
                        .autocapitalization(.none)
                        .disableAutocorrection(true)
                    SecureTextField(text: $password)
                }
            }
        }

我的假设是只要表单在 ZStack 中,表单就应该覆盖背景图片。

我喜欢表单的外观,而不是两个单独的 TextField。有没有办法用表格或类似于表格的东西来做这件事?

【问题讨论】:

  • 它并没有消失,Forms 只是不透明并覆盖了所有屏幕 - 图像保留在它后面。
  • @Asperi 感谢您的信息。也许我会调整我的问题以寻求解决方法?我喜欢表单的外观,而不是 2 个单独的 TextField。
  • Does this回答你的问题?

标签: ios swift xcode swiftui


【解决方案1】:

这就是我目前所做的: 我要么将此修饰符添加到表单中。

.onAppear {
            UITableView.appearance().backgroundColor = .clear
        }

或者在视图的 init() 中

如果您有列表或表单,这会对视图的其余部分产生一些副作用,但它对我有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-09
    相关资源
    最近更新 更多