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
相关产品推荐
相关产品推荐

