我在SwiftUI中的一个视图中创建了一个列表,并将其样式设置为.sideBar
,但它没有被应用。没有扩展按钮。会是什么问题呢?有什么办法吗?(我的最低部署是iOS 16.2)
import SwiftUI
struct ListTestView: View {
var body: some View {
List {
Section(content: {
Text("...")
Text("...")
Text("...")
Text("...")
}, header: {
Text("Hedaer")
.textCase(nil)
})
}
.listStyle(.sidebar)
}
}
#Preview {
ListTestView()
}
1条答案
按热度按时间aij0ehis1#
.sidebar
列表样式只是在标题中添加一个V形符号。允许用户折叠/展开部分。iOS 17+解决方案
从Apple
在macOS和iOS上,侧边栏列表样式在节标题中显示公开指示符,允许用户折叠和展开节。
似乎没有记录的是,您必须使用在其初始化器中包含
isExpanded
的Section
。当您使用
isExpanded
创建Section
时,只要列表样式为.sidebar
,就会出现V形符号iOS 16-解决方案
我尝试了所有其他的
Section
初始化器,没有一个提供.sidebar
列表样式的chevron。由于SwiftUI没有提供预期的功能,我建议使用自定义的Section
实现。这个CollapsibleSection
只使用基本的Section
初始化器,并公开了一个showingContent
可绑定对象来模拟isExpanded
部分的行为。与iOS 17+解决方案相同