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

SwiftUI:如何让键盘工具栏中的按钮标签自动截断?

解决SwiftUI键盘工具栏按钮文本截断问题

在SwiftUI中,键盘工具栏内的按钮默认不会自动适配父容器的可用宽度,导致长文本按钮会超出屏幕边缘;而VStack中的按钮因为会自动填充容器宽度,所以文本截断能正常生效。要让键盘工具栏里的按钮也实现同样的截断效果,只需给按钮添加宽度约束,让它占据工具栏内的可用空间即可。

修改你的myButton实现,给Button添加宽度约束:

var myButton: some View {
    Button {
        // do something
    } label: {
        Text("A possibly very long text that absolutely needs to be truncated.")
            .lineLimit(1)
    }
    // 让按钮填充工具栏内的可用宽度,触发文本截断
    .frame(maxWidth: .infinity, alignment: .leading)
}

如果希望按钮文本居中对齐,把alignment参数改成.center即可。修改后,键盘工具栏里的按钮文本会像VStack中的按钮一样,自动截断超出屏幕的部分,不会再溢出边缘。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 16:02:10