如何在 SwiftUI 中为列表创建标题?

Posted

技术标签:

【中文标题】如何在 SwiftUI 中为列表创建标题?【英文标题】:How to create header for List in SwiftUI? 【发布时间】:2020-03-24 22:12:07 【问题描述】:

我想在 SwiftUI 中实现一个列表的标题。我可以使用 ScrollView 来做到这一点,但我想要 List 的属性(如延迟加载)。有一个 SectionHeader 但它一直固定在顶部,直到用户滚动到该部分的末尾并且我不想要这种行为。我只想滚动整个视图。

有没有办法使用 SwiftUI 实现这一点?

【问题讨论】:

【参考方案1】:

看起来您真的只是想要一个位于列表顶部的自定义单元格。

只需使用部分。如果你把它变成一个普通的部分,只有一个条目,它会出现在顶部,并在视图滚动时滚开。

    List 
        Section() 
            YourCustomRowThatLooksLikeAHeader()
        

        Section() 
            // Normal list stuff
            ForEach(offers, id: \.self)  offer in
            NavigationLink(
                destination: DetailView(offer: offer)
            ) 
                HStack 
                    Image(offer.offerThumbnail ?? "")
                    Text("\(offer.shortInfo ?? "")")
                
            

        
    

【讨论】:

以上是关于如何在 SwiftUI 中为列表创建标题?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 SwiftUI 中为 WKWebView 创建浏览器选项卡

如何在 swiftui 中为子视图设置私有状态变量?

SwiftUI 如何在其中创建带有自定义 UIViews 的列表

如何在按钮单击时在 SwiftUI 中为 TextField 设置文本

如何在 SwiftUI 中为 Start->Max->Start 设置动画?

如何在swift / SwiftUI中为滑动手势设置菜单栏图标的操作