ios - SwiftUI - 状态栏文本下方的列表滚动

标签 ios swiftui

我创建列表并在其中添加 VStack,并在 VStack 中添加了一些 View 。当我运行该项目时,我观察到列表的滚动超出了安全区域。仅供引用,如果我删除 Frame 属性仍然是相同的结果。 Simulator gif

struct ContentView : View {
var body: some View {

    List(0..<5) { item in
        HStack(alignment: VerticalAlignment.top, spacing: 5) {
            Image(systemName: "photo")
            VStack(alignment: HorizontalAlignment.leading, spacing: 10) {
                Text("USA")
                    .font(.headline)

                Text("This is an extremely long string that will never fit even the widest of Phones Excerpt From: Paul Hudson. “SwiftUI by Example”. Apple Books. ")
                    .lineLimit(nil)
                    .font(.subheadline)
            }
        }
    }
    .frame(minWidth: 0, maxWidth: .infinity, minHeight: 0, maxHeight: .infinity)
    .background(Color.red)
        .onAppear() {
            print("on Appear")

    }.onDisappear() {
        print("on Disappear")
    }
}
}

最佳答案

灵感来自 Shauket Sheikh。您可以直接将 .padding(.top) 添加到 List 并完成。不需要 VStack。

enter image description here

struct ContentView : View {
    var body: some View {
            List(0..<5) { item in
                HStack(alignment: VerticalAlignment.top, spacing: 5) {
                    Image(systemName: "photo")
                    VStack(alignment: HorizontalAlignment.leading, spacing: 10) {
                        Text("USA")
                            .font(.headline)
                        Text("This is an extremely long string that will never fit even the widest of Phones Excerpt From: Paul Hudson. “SwiftUI by Example”. Apple Books. ")
                            .lineLimit(nil)
                            .font(.subheadline)
                    }
                }
            }
            .frame(minWidth: 0, maxWidth: .infinity, minHeight: 0, maxHeight: .infinity)
                .background(Color.red)
                .onAppear() {
                    print("on Appear")
            }.onDisappear() {
                print("on Disappear")
            }
        .padding(.top)
    }
}

关于ios - SwiftUI - 状态栏文本下方的列表滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57049763/

相关文章:

objective-c - 首次启动时无法识别 iCloud 键值存储

ios - didActivate 没有被 CallKit 回调

swift - 参数类型 'xxx' 不符合预期类型 '_FormatSpecifiable'

swiftui - 如何创建可重用的 CustomTextField?

swift - LinkPresentation View 未在 SwiftUI 中完全加载

android - 如何为 BlackBerry、IOS 和 Android 集成 HTML 5?

ios - iPhone/iPad : How to make UITextField readonly (but not disabled)?

javascript - 使用 javascript 打开移动应用程序(如果已安装)(无意)

swift - 为什么 LocalizedStringKey 的行为取决于我是否将字符串插值传递给它的初始化程序?

ios - 如何实现SwiftUI刷新以获取新的网络数据?