【问题标题】:SwiftUI List Header Alignment on iOS 15?iOS 15 上的 SwiftUI 列表标题对齐?
【发布时间】:2021-10-05 12:32:37
【问题描述】:

在 iOS 15 上使用以下代码,标题文本与 List 中的文本对齐:

List {
    Section {
        Text("Hello, world!")
    } header: {
        Text("Section Header").sectionHeaderStyle()
    }
}
.listStyle(InsetGroupedListStyle())

//...

public extension Text {
    func sectionHeaderStyle() -> some View {
        self
            .font(.system(.title3))
            .fontWeight(.bold)
            .foregroundColor(.primary)
            .textCase(nil)
    }
}

然而,在 iOS 14 上,类似的代码将标题与列表部分本身对齐:

List {
    Section(header: Text("Section Header").sectionHeaderStyle()) {
        Text("Hello, world!")
    }
}
.listStyle(InsetGroupedListStyle())

有谁知道如何获得 iOS 14 的行为,即部分标题与列表部分本身对齐,而不是与部分中的文本对齐?

【问题讨论】:

  • 也许可以尝试硬编码的offSet... 或者直接使用它。与 SwiftUI 设计变更作斗争非常乏味。
  • 毫无疑问 - 我希望有一个我不知道的明显的新修饰符。特别奇怪的是,今年在 UIKit 端引入了显着的InsetGroupedHeader,使得在 UIKit 中更容易获得这种外观,但在 SwiftUI 中更难获得这种外观:developer.apple.com/documentation/uikit/…

标签: swiftui ios15


【解决方案1】:

在回答我自己的问题时,有人亲切地向我指出了 headerProminence(.increased) 修饰符,它可以在这里做我想做的事情。

【讨论】:

    猜你喜欢
    • 2021-11-11
    • 1970-01-01
    • 2021-04-18
    • 1970-01-01
    • 2021-11-18
    • 1970-01-01
    • 1970-01-01
    • 2023-01-10
    • 2014-02-17
    相关资源
    最近更新 更多