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

SwiftUI List滑动操作时右侧按钮圆角设置问题(适配iOS 15)

问题原因

你给Label添加cornerRadius不生效是因为SwiftUI List的滑动操作按钮自带系统级的默认背景样式,你修改的只是按钮内部内容的圆角,并没有作用到按钮的容器视图上。

解决方案

你可以清空按钮的默认样式后,手动自定义背景和圆角,iOS15及以上可以直接用以下写法实现:

List {
    // 你的列表内容循环
    ForEach(listItems) { item in
        Text(item.content)
            .swipeActions(edge: .trailing) {
                Button(role: .destructive) {
                    // 此处写删除逻辑
                } label: {
                    Label("Delete", systemImage: "trash.fill")
                        .frame(maxHeight: .infinity)
                }
                .buttonStyle(.plain) // 清除系统默认按钮样式
                .background(Color.red) // 自定义按钮背景色
                .cornerRadius(15) // 你需要的圆角数值
                .padding(.vertical, 6) // 可选:调整上下间距避免圆角贴到行边缘
            }
    }
}
// 不需要修改List的全局圆角,按你原有需求保留List样式即可

说明

  • 如果有多个滑动操作按钮,给每个Button单独加上述修饰符就可以分别实现圆角效果,互不影响
  • 如果你需要调整按钮的宽度,也可以给Button添加frame(width: xx)修饰符自定义尺寸

内容的提问来源于stack exchange,提问作者Arturo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 13:54:02