You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SwiftUI 中这种带滑块的可展开工具栏对应的视图叫什么?

待查询的视图已在截图中用红色标注

对应视图的名称说明

你询问的这类带滑块的可展开工具栏类视图,在SwiftUI中没有独立的专属官方控件名称,苹果官方人机交互指南中将其归类为工具栏下的可折叠控件组,开发行业内通常称其为可折叠调整工具栏(Collapsible Adjustment Toolbar),这类组件普遍用于需要参数调节的场景,比如照片编辑、音视频参数调整等。

实现与学习方法

你可以通过SwiftUI的基础控件组合实现该效果,核心用到的控件和逻辑如下:

  • 外层工具栏容器使用Toolbar修饰符挂载到你的页面视图上,iOS端如果需要固定在底部,可以将ToolbarItem的placement属性设置为.bottomBar
  • 展开、折叠的交互可以直接用DisclosureGroup控件实现,也可以自行声明@State类型的布尔状态变量,控制展开区域的显隐,同时加withAnimation包裹状态变更代码实现流畅的展开收起动画
  • 内部的参数调节滑块使用SwiftUI原生的Slider控件即可,支持自定义取值范围、步长、最小值最大值图标以及数值变更回调

简易实现代码示例

import SwiftUI

struct AdjustmentToolbarDemo: View {
    // 控制工具栏展开折叠的状态变量
    @State private var isToolbarExpanded = false
    // 滑块绑定的参数值
    @State private var brightnessValue = 0.5
    
    var body: some View {
        NavigationStack {
            // 此处替换为你的主内容视图
            Color.black.opacity(0.05)
                .ignoresSafeArea()
                .toolbar {
                    ToolbarItem(placement: .bottomBar) {
                        VStack(spacing: 12) {
                            // 折叠态的触发按钮
                            Button {
                                withAnimation(.easeInOut) {
                                    isToolbarExpanded.toggle()
                                }
                            } label: {
                                HStack(spacing: 6) {
                                    Text("亮度调节")
                                    Image(systemName: isToolbarExpanded ? "chevron.up" : "chevron.down")
                                }
                            }
                            
                            // 展开后显示的滑块区域
                            if isToolbarExpanded {
                                Slider(value: $brightnessValue, in: 0...1) {
                                    Text("亮度")
                                } minimumValueLabel: {
                                    Image(systemName: "sun.min")
                                } maximumValueLabel: {
                                    Image(systemName: "sun.max")
                                }
                                .padding(.horizontal)
                            }
                        }
                        .padding(.vertical, 8)
                    }
                }
        }
    }
}

内容的提问来源于stack exchange,提问作者Dince-afk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 11:15:04